From 4bb4bc5412a4555f67a8124c4a0d76cc6fee3690 Mon Sep 17 00:00:00 2001
From: agsantos <aline.gondimsantos@savoirfairelinux.com>
Date: Mon, 8 Mar 2021 14:21:45 -0500
Subject: [PATCH] WaterMark: create water mark plugin

GitLab: #13
Change-Id: Idab3d0b8fdfe6af2b481ac483a5b7ff423bec418
---
 AudioFilter/ffmpeg/rules.mak               |    3 +-
 AudioFilter/main.cpp                       |    7 +-
 AutoAnswer/main.cpp                        |    4 +-
 GreenScreen/main.cpp                       |    7 +-
 GreenScreen/videoSubscriber.cpp            |   30 +-
 HelloWorld/CenterCircleVideoSubscriber.cpp |    1 -
 HelloWorld/CoinCircleVideoSubscriber.cpp   |    1 -
 HelloWorld/main.cpp                        |   10 +-
 SDK/Templates/build.sh                     |    8 +-
 SDK/Templates/main.cpp                     |    4 +-
 SDK/Templates/preferences.json             |    3 +-
 SDK/Templates/videoUpdate.txt              |    1 -
 TensorflowSegmentation/main.cpp            |   14 +-
 TensorflowSegmentation/videoSubscriber.cpp |    1 -
 WaterMark/CMakeLists.txt                   |   93 +
 WaterMark/WatermarkMediaHandler.cpp        |  173 ++
 WaterMark/WatermarkMediaHandler.h          |   52 +
 WaterMark/WatermarkVideoSubscriber.cpp     |  475 ++++++
 WaterMark/WatermarkVideoSubscriber.h       |  127 ++
 WaterMark/build.sh                         |  254 +++
 WaterMark/data/Muli-Light.ttf              |  Bin 0 -> 48856 bytes
 WaterMark/data/SIL Open Font License.txt   |   44 +
 WaterMark/data/defaultWM.png               |  Bin 0 -> 41968 bytes
 WaterMark/data/icon.png                    |  Bin 0 -> 41968 bytes
 WaterMark/data/icon.svg                    |   54 +
 WaterMark/data/preferences.json            |  275 +++
 WaterMark/ffmpeg/package.json              |   36 +
 WaterMark/ffmpeg/rules.mak                 |  360 ++++
 WaterMark/ffmpeg/windows-configure-make.sh |  199 +++
 WaterMark/main.cpp                         |   72 +
 WaterMark/manifest.json                    |    5 +
 WaterMark/package.json                     |   18 +
 WaterMark/zlib/libzlib.vcxproj             |  918 ++++++++++
 WaterMark/zlib/package.json                |   17 +
 WaterMark/zlib/zconf.h                     |  519 ++++++
 contrib/build-dependencies.sh              |    7 +-
 contrib/freetype/autogen.sh                |  165 ++
 contrib/freetype/freetype.vcxproj          | 1780 ++++++++++++++++++++
 contrib/freetype/package.json              |   15 +
 contrib/freetype/rules.mak                 |   36 +
 lib/frameScaler.h                          |   45 +-
 lib/frameUtils.cpp                         |   13 +-
 lib/frameUtils.h                           |    6 +
 43 files changed, 5775 insertions(+), 77 deletions(-)
 create mode 100644 WaterMark/CMakeLists.txt
 create mode 100644 WaterMark/WatermarkMediaHandler.cpp
 create mode 100644 WaterMark/WatermarkMediaHandler.h
 create mode 100644 WaterMark/WatermarkVideoSubscriber.cpp
 create mode 100644 WaterMark/WatermarkVideoSubscriber.h
 create mode 100755 WaterMark/build.sh
 create mode 100644 WaterMark/data/Muli-Light.ttf
 create mode 100644 WaterMark/data/SIL Open Font License.txt
 create mode 100644 WaterMark/data/defaultWM.png
 create mode 100644 WaterMark/data/icon.png
 create mode 100644 WaterMark/data/icon.svg
 create mode 100644 WaterMark/data/preferences.json
 create mode 100644 WaterMark/ffmpeg/package.json
 create mode 100644 WaterMark/ffmpeg/rules.mak
 create mode 100644 WaterMark/ffmpeg/windows-configure-make.sh
 create mode 100644 WaterMark/main.cpp
 create mode 100644 WaterMark/manifest.json
 create mode 100644 WaterMark/package.json
 create mode 100644 WaterMark/zlib/libzlib.vcxproj
 create mode 100644 WaterMark/zlib/package.json
 create mode 100644 WaterMark/zlib/zconf.h
 create mode 100755 contrib/freetype/autogen.sh
 create mode 100644 contrib/freetype/freetype.vcxproj
 create mode 100644 contrib/freetype/package.json
 create mode 100644 contrib/freetype/rules.mak

diff --git a/AudioFilter/ffmpeg/rules.mak b/AudioFilter/ffmpeg/rules.mak
index b8528df..40eb672 100644
--- a/AudioFilter/ffmpeg/rules.mak
+++ b/AudioFilter/ffmpeg/rules.mak
@@ -359,6 +359,7 @@ ffmpeg: ffmpeg-$(FFMPEG_HASH).tar.gz
 	cd $< && $(HOSTVARS) ./configure \
 		--extra-cflags="$(CFLAGS)" \
 		--extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \
-		--prefix="$(PREFIX)" --enable-static --disable-shared
+		--prefix="$(PREFIX)" --enable-static --disable-shared \
+		--pkg-config-flags="--static"
 	cd $< && $(MAKE) install-libs install-headers
 	touch $@
diff --git a/AudioFilter/main.cpp b/AudioFilter/main.cpp
index 078e0a1..4b30b2d 100644
--- a/AudioFilter/main.cpp
+++ b/AudioFilter/main.cpp
@@ -45,10 +45,10 @@ pluginExit(void)
 EXPORT_PLUGIN JAMI_PluginExitFunc
 JAMI_dynPluginInit(const JAMI_PluginAPI* api)
 {
-    std::cout << "*******************" << std::endl << std::endl;
+    std::cout << "*******************" << std::endl;
     std::cout << "**  AudioFilter  **" << std::endl;
     std::cout << "*******************" << std::endl << std::endl;
-    std::cout << " Version " << AudioFilter_VERSION_MAJOR << "." << AudioFilter_VERSION_MINOR << "."
+    std::cout << "Version " << AudioFilter_VERSION_MAJOR << "." << AudioFilter_VERSION_MINOR << "."
               << AudioFilter_VERSION_PATCH << std::endl;
 
     // If invokeService doesn't return an error
@@ -58,7 +58,8 @@ JAMI_dynPluginInit(const JAMI_PluginAPI* api)
         std::string dataPath;
         api->invokeService(api, "getPluginDataPath", &dataPath);
 
-        auto fmpFilterMediaHandler = std::make_unique<jami::FilterMediaHandler>(std::move(preferences),
+        auto fmpFilterMediaHandler = std::make_unique<jami::FilterMediaHandler>(std::move(
+                                                                                    preferences),
                                                                                 std::move(dataPath));
         if (api->manageComponent(api, "CallMediaHandlerManager", fmpFilterMediaHandler.release())) {
             return nullptr;
diff --git a/AutoAnswer/main.cpp b/AutoAnswer/main.cpp
index 309156b..b35e176 100644
--- a/AutoAnswer/main.cpp
+++ b/AutoAnswer/main.cpp
@@ -45,10 +45,10 @@ pluginExit(void)
 EXPORT_PLUGIN JAMI_PluginExitFunc
 JAMI_dynPluginInit(const JAMI_PluginAPI* api)
 {
-    std::cout << "******************" << std::endl << std::endl;
+    std::cout << "******************" << std::endl;
     std::cout << "**  AutoAnswer  **" << std::endl;
     std::cout << "******************" << std::endl << std::endl;
-    std::cout << " Version " << AutoAnswer_VERSION_MAJOR << "." << AutoAnswer_VERSION_MINOR << "."
+    std::cout << "Version " << AutoAnswer_VERSION_MAJOR << "." << AutoAnswer_VERSION_MINOR << "."
               << AutoAnswer_VERSION_PATCH << std::endl;
 
     // If invokeService doesn't return an error
diff --git a/GreenScreen/main.cpp b/GreenScreen/main.cpp
index 3566169..bfc1bc8 100644
--- a/GreenScreen/main.cpp
+++ b/GreenScreen/main.cpp
@@ -44,10 +44,10 @@ pluginExit(void)
 EXPORT_PLUGIN JAMI_PluginExitFunc
 JAMI_dynPluginInit(const JAMI_PluginAPI* api)
 {
-    std::cout << "**************************" << std::endl << std::endl;
+    std::cout << "**************************" << std::endl;
     std::cout << "**  GREENSCREEN PLUGIN  **" << std::endl;
     std::cout << "**************************" << std::endl << std::endl;
-    std::cout << " Version " << GreenScreen_VERSION_MAJOR << "." << GreenScreen_VERSION_MINOR << "."
+    std::cout << "Version " << GreenScreen_VERSION_MAJOR << "." << GreenScreen_VERSION_MINOR << "."
               << GreenScreen_VERSION_PATCH << std::endl;
 
     // If invokeService doesn't return an error
@@ -56,7 +56,8 @@ JAMI_dynPluginInit(const JAMI_PluginAPI* api)
         api->invokeService(api, "getPluginPreferences", &preferences);
         std::string dataPath;
         api->invokeService(api, "getPluginDataPath", &dataPath);
-        auto fmp = std::make_unique<jami::PluginMediaHandler>(std::move(preferences), std::move(dataPath));
+        auto fmp = std::make_unique<jami::PluginMediaHandler>(std::move(preferences),
+                                                              std::move(dataPath));
 
         if (!api->manageComponent(api, "CallMediaHandlerManager", fmp.release())) {
             return pluginExit;
diff --git a/GreenScreen/videoSubscriber.cpp b/GreenScreen/videoSubscriber.cpp
index 5af29c5..583a5c5 100644
--- a/GreenScreen/videoSubscriber.cpp
+++ b/GreenScreen/videoSubscriber.cpp
@@ -39,7 +39,10 @@ const char sep = separator();
 
 namespace jami {
 
-VideoSubscriber::VideoSubscriber(const std::string& dataPath, const std::string& model, const std::string& backgroundImage, bool acc)
+VideoSubscriber::VideoSubscriber(const std::string& dataPath,
+                                 const std::string& model,
+                                 const std::string& backgroundImage,
+                                 bool acc)
     : path_ {dataPath}
     , pluginProcessor {dataPath, model, backgroundImage, acc}
 {
@@ -78,13 +81,13 @@ VideoSubscriber::~VideoSubscriber()
 void
 VideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const& pluginFrame)
 {
-    if (!observable_ || !pluginProcessor.isAllocated() || !pluginProcessor.hasBackground() || !pluginFrame)
+    if (!observable_ || !pluginProcessor.isAllocated() || !pluginProcessor.hasBackground()
+        || !pluginFrame)
         return;
 
     //======================================================================================
     // GET FRAME ROTATION
-    AVFrameSideData* side_data = av_frame_get_side_data(pluginFrame,
-                                                        AV_FRAME_DATA_DISPLAYMATRIX);
+    AVFrameSideData* side_data = av_frame_get_side_data(pluginFrame, AV_FRAME_DATA_DISPLAYMATRIX);
 
     int angle {0};
     if (side_data) {
@@ -108,10 +111,10 @@ VideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const& pluginFrame
     if (!bgrFrame)
         return;
     cv::Mat frame = cv::Mat {bgrFrame->height,
-                                bgrFrame->width,
-                                CV_8UC3,
-                                bgrFrame->data[0],
-                                static_cast<size_t>(bgrFrame->linesize[0])};
+                             bgrFrame->width,
+                             CV_8UC3,
+                             bgrFrame->data[0],
+                             static_cast<size_t>(bgrFrame->linesize[0])};
     // First clone the frame as the original one is unusable because of
     // linespace
 
@@ -128,8 +131,8 @@ VideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const& pluginFrame
         pluginProcessor.rotateFrame(angle, fcopy.resizedFrameRGB);
 
         cv::resize(pluginProcessor.backgroundImage,
-                    pluginProcessor.backgroundImage,
-                    fcopy.resizedSize);
+                   pluginProcessor.backgroundImage,
+                   fcopy.resizedSize);
 
         firstRun = false;
     }
@@ -157,12 +160,11 @@ VideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const& pluginFrame
         uint8_t* frameData = bgrFrame->data[0];
         if (angle == 90 || angle == -90) {
             std::memmove(frameData,
-                            fcopy.predictionsFrameRGB.data,
-                            static_cast<size_t>(pluginFrame->width * pluginFrame->height * 3)
-                                * sizeof(uint8_t));
+                         fcopy.predictionsFrameRGB.data,
+                         static_cast<size_t>(pluginFrame->width * pluginFrame->height * 3)
+                             * sizeof(uint8_t));
         }
 
-        av_frame_copy_props(bgrFrame, pluginFrame);
         moveFrom(pluginFrame, bgrFrame);
     }
     av_frame_unref(bgrFrame);
diff --git a/HelloWorld/CenterCircleVideoSubscriber.cpp b/HelloWorld/CenterCircleVideoSubscriber.cpp
index 0220a94..62babd0 100644
--- a/HelloWorld/CenterCircleVideoSubscriber.cpp
+++ b/HelloWorld/CenterCircleVideoSubscriber.cpp
@@ -107,7 +107,6 @@ CenterCircleVideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const&
                              * sizeof(uint8_t));
         }
 
-        av_frame_copy_props(bgrFrame, pluginFrame);
         moveFrom(pluginFrame, bgrFrame);
     }
     av_frame_unref(bgrFrame);
diff --git a/HelloWorld/CoinCircleVideoSubscriber.cpp b/HelloWorld/CoinCircleVideoSubscriber.cpp
index 4a2a85f..46e8b8c 100644
--- a/HelloWorld/CoinCircleVideoSubscriber.cpp
+++ b/HelloWorld/CoinCircleVideoSubscriber.cpp
@@ -107,7 +107,6 @@ CoinCircleVideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const& p
                              * sizeof(uint8_t));
         }
 
-        av_frame_copy_props(bgrFrame, pluginFrame);
         moveFrom(pluginFrame, bgrFrame);
     }
     av_frame_unref(bgrFrame);
diff --git a/HelloWorld/main.cpp b/HelloWorld/main.cpp
index 0927b92..76f7cb5 100644
--- a/HelloWorld/main.cpp
+++ b/HelloWorld/main.cpp
@@ -45,10 +45,10 @@ pluginExit(void)
 EXPORT_PLUGIN JAMI_PluginExitFunc
 JAMI_dynPluginInit(const JAMI_PluginAPI* api)
 {
-    std::cout << "******************" << std::endl << std::endl;
+    std::cout << "******************" << std::endl;
     std::cout << "**  HelloWorld  **" << std::endl;
     std::cout << "******************" << std::endl << std::endl;
-    std::cout << " Version " << HelloWorld_VERSION_MAJOR << "." << HelloWorld_VERSION_MINOR << "."
+    std::cout << "Version " << HelloWorld_VERSION_MAJOR << "." << HelloWorld_VERSION_MINOR << "."
               << HelloWorld_VERSION_PATCH << std::endl;
 
     // If invokeService doesn't return an error
@@ -59,7 +59,8 @@ JAMI_dynPluginInit(const JAMI_PluginAPI* api)
         api->invokeService(api, "getPluginDataPath", &dataPath);
 
         auto fmpCenterCircleMediaHandler
-            = std::make_unique<jami::CenterCircleMediaHandler>(std::move(preferences), std::move(dataPath));
+            = std::make_unique<jami::CenterCircleMediaHandler>(std::move(preferences),
+                                                               std::move(dataPath));
         if (api->manageComponent(api,
                                  "CallMediaHandlerManager",
                                  fmpCenterCircleMediaHandler.release())) {
@@ -67,7 +68,8 @@ JAMI_dynPluginInit(const JAMI_PluginAPI* api)
         }
 
         auto fmpCoinCircleMediaHandler
-            = std::make_unique<jami::CoinCircleMediaHandler>(std::move(preferences), std::move(dataPath));
+            = std::make_unique<jami::CoinCircleMediaHandler>(std::move(preferences),
+                                                             std::move(dataPath));
         if (api->manageComponent(api,
                                  "CallMediaHandlerManager",
                                  fmpCoinCircleMediaHandler.release())) {
diff --git a/SDK/Templates/build.sh b/SDK/Templates/build.sh
index 2253327..5f47c01 100644
--- a/SDK/Templates/build.sh
+++ b/SDK/Templates/build.sh
@@ -100,12 +100,12 @@ then
 
         if [ "$CURRENT_ABI" = armeabi-v7a ]
         then
-        export AR=$TOOLCHAIN/bin/arm-linux-android-ar
-        export AS=$TOOLCHAIN/bin/arm-linux-android-as
+        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
+        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
         export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
         export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-        export LD=$TOOLCHAIN/bin/arm-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/arm-linux-android-ranlib
+        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
+        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
         export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
         export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
diff --git a/SDK/Templates/main.cpp b/SDK/Templates/main.cpp
index 21f64ea..abca25b 100644
--- a/SDK/Templates/main.cpp
+++ b/SDK/Templates/main.cpp
@@ -27,10 +27,10 @@ pluginExit(void)
 EXPORT_PLUGIN JAMI_PluginExitFunc
 JAMI_dynPluginInit(const JAMI_PluginAPI* api)
 {
-    std::cout << "**************************" << std::endl << std::endl;
+    std::cout << "**************************" << std::endl;
     std::cout << "**  PLUGINNAME  **" << std::endl;
     std::cout << "**************************" << std::endl << std::endl;
-    std::cout << " Version " << PLUGINNAME_VERSION_MAJOR << "." << PLUGINNAME_VERSION_MINOR << "."
+    std::cout << "Version " << PLUGINNAME_VERSION_MAJOR << "." << PLUGINNAME_VERSION_MINOR << "."
               << PLUGINNAME_VERSION_PATCH << std::endl;
 
     // If invokeService doesn't return an error
diff --git a/SDK/Templates/preferences.json b/SDK/Templates/preferences.json
index b8ab719..c995694 100644
--- a/SDK/Templates/preferences.json
+++ b/SDK/Templates/preferences.json
@@ -35,6 +35,7 @@
         "key": "keyName",
         "title" : "preference title",
         "summary" : "preference summary",
-        "defaultValue" : "default value"
+        "defaultValue" : "default value",
+        "scope" : "plugin, Name of API implementation"
     }
 ]
diff --git a/SDK/Templates/videoUpdate.txt b/SDK/Templates/videoUpdate.txt
index aff2307..e6f86f2 100644
--- a/SDK/Templates/videoUpdate.txt
+++ b/SDK/Templates/videoUpdate.txt
@@ -45,7 +45,6 @@
                              * sizeof(uint8_t));
         }
 
-        av_frame_copy_props(bgrFrame, pluginFrame);
         moveFrom(pluginFrame, bgrFrame);
     }
     av_frame_unref(bgrFrame);
diff --git a/TensorflowSegmentation/main.cpp b/TensorflowSegmentation/main.cpp
index 2196d33..b29e9f2 100644
--- a/TensorflowSegmentation/main.cpp
+++ b/TensorflowSegmentation/main.cpp
@@ -44,11 +44,12 @@ pluginExit(void)
 EXPORT_PLUGIN JAMI_PluginExitFunc
 JAMI_dynPluginInit(const JAMI_PluginAPI* api)
 {
-    std::cout << "**************************" << std::endl << std::endl;
-    std::cout << "**  TensorflowSegmentation PLUGIN  **" << std::endl;
-    std::cout << "**************************" << std::endl << std::endl;
-    std::cout << " Version " << TensorflowSegmentation_VERSION_MAJOR << "." << TensorflowSegmentation_VERSION_MINOR << "."
-              << TensorflowSegmentation_VERSION_PATCH << std::endl;
+    std::cout << "******************************" << std::endl;
+    std::cout << "**  TensorflowSegmentation  **" << std::endl;
+    std::cout << "******************************" << std::endl << std::endl;
+    std::cout << "Version " << TensorflowSegmentation_VERSION_MAJOR << "."
+              << TensorflowSegmentation_VERSION_MINOR << "." << TensorflowSegmentation_VERSION_PATCH
+              << std::endl;
 
     // If invokeService doesn't return an error
     if (api) {
@@ -56,7 +57,8 @@ JAMI_dynPluginInit(const JAMI_PluginAPI* api)
         api->invokeService(api, "getPluginPreferences", &preferences);
         std::string dataPath;
         api->invokeService(api, "getPluginDataPath", &dataPath);
-        auto fmp = std::make_unique<jami::PluginMediaHandler>(std::move(preferences), std::move(dataPath));
+        auto fmp = std::make_unique<jami::PluginMediaHandler>(std::move(preferences),
+                                                              std::move(dataPath));
 
         if (!api->manageComponent(api, "CallMediaHandlerManager", fmp.release())) {
             return pluginExit;
diff --git a/TensorflowSegmentation/videoSubscriber.cpp b/TensorflowSegmentation/videoSubscriber.cpp
index e634e21..928380c 100644
--- a/TensorflowSegmentation/videoSubscriber.cpp
+++ b/TensorflowSegmentation/videoSubscriber.cpp
@@ -165,7 +165,6 @@ VideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const& pluginFrame
                                  * sizeof(uint8_t));
             }
 
-            av_frame_copy_props(bgrFrame, pluginFrame);
             moveFrom(pluginFrame, bgrFrame);
         }
         av_frame_unref(bgrFrame);
diff --git a/WaterMark/CMakeLists.txt b/WaterMark/CMakeLists.txt
new file mode 100644
index 0000000..8b8fae5
--- /dev/null
+++ b/WaterMark/CMakeLists.txt
@@ -0,0 +1,93 @@
+cmake_minimum_required(VERSION 3.10)
+
+# set the project name
+set (ProjectName WaterMark)
+set (Version 1.0.0)
+
+project(${ProjectName} VERSION ${Version})
+
+set (DAEMON ${PROJECT_SOURCE_DIR}/../../daemon)
+set (JPL_FILE_NAME ${ProjectName}.jpl)
+set (DAEMON_SRC ${DAEMON}/src)
+set (CONTRIB_PATH ${DAEMON}/contrib)
+set (PLUGINS_LIB ${PROJECT_SOURCE_DIR}/../lib)
+set (JPL_DIRECTORY ${PROJECT_BINARY_DIR}/jpl)
+set (LIBS_DIR ${PROJECT_SOURCE_DIR}/../contrib/Libs)
+
+if(WIN32)
+    message(OS:\  WINDOWS\ ${CMAKE_SYSTEM_PROCESSOR})
+    if (NOT ${CMAKE_CL_64})
+        message( FATAL_ERROR "\nUse CMake only for x64 Windows" )
+    endif()
+    set (CONTRIB_PLATFORM_CURT x64)
+    set (CONTRIB_PLATFORM ${CONTRIB_PLATFORM_CURT}-windows)
+    set (LIBRARY_FILE_NAME ${ProjectName}.dll)
+    set (FFMPEG ${CONTRIB_PATH}/build/ffmpeg/Build/win32/x64)
+else()
+    message( FATAL_ERROR "\nUse CMake only for Windows! For linux or Android (linux host), use our bash scripts." )
+endif()
+
+message(Building:\   ${ProjectName}\   ${Version})
+message(Build\ path:\ ${PROJECT_BINARY_DIR})
+message(JPL\ assembling\ path:\ ${JPL_DIRECTORY})
+message(JPL\ path:\ ${JPL_DIRECTORY}/../../../build/${ProjectName}/${JPL_FILE_NAME})
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
+
+set(plugin_SRC WatermarkVideoSubscriber.cpp
+               main.cpp
+               WatermarkMediaHandler.cpp
+               ./../lib/accel.cpp
+               ./../lib/frameUtils.cpp
+               ./../lib/frameFilter.cpp
+               )
+
+set(plugin_HDR WatermarkVideoSubscriber.h
+               WatermarkMediaHandler.h
+               ./../lib/accel.h
+               ./../lib/frameUtils.h
+               ./../lib/pluglog.h
+               ./../lib/frameFilter.h
+               ./../lib/mediaStream.h
+               ./../lib/audioFormat.h
+               )
+
+add_library(${ProjectName} SHARED ${plugin_SRC}
+                                  ${plugin_HDR}
+                                  )
+
+target_include_directories(${ProjectName} PUBLIC ${PROJECT_BINARY_DIR}
+                                                 ${PROJECT_SOURCE_DIR}
+                                                 ${PLUGINS_LIB}
+                                                 ${DAEMON_SRC}
+                                                 ${CONTRIB_PATH}
+                                                 ${FFMPEG}/include
+                                                 )
+target_link_directories(${ProjectName} PUBLIC ${CONTRIB_PATH}
+                                        ${FFMPEG}/lib
+                                        ${CONTRIB_PATH}/msvc/lib/x64
+                                        )
+
+target_link_libraries(${ProjectName} PUBLIC libavfilter libswscale libavformat libavcodec libavutil libvpx libx264 libopus libmfx
+                                     freetype libzlib ws2_32 Bcrypt Crypt32 Secur32 Dnsapi)
+
+add_custom_command(
+    TARGET ${ProjectName}
+    PRE_BUILD
+    COMMAND python ${PROJECT_SOURCE_DIR}/../SDK/jplManipulation.py --preassemble --plugin=${ProjectName}
+    COMMENT "Assembling Plugin files"
+)
+
+add_custom_command(
+    TARGET ${ProjectName}
+    POST_BUILD
+    COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${ProjectName}.lib ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
+    COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${LIBRARY_FILE_NAME} ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
+    COMMAND python ${PROJECT_SOURCE_DIR}/../SDK/jplManipulation.py --assemble --plugin=${ProjectName}
+    COMMAND cd ${CONTRIB_PATH}/src/ffmpeg/
+    COMMAND git checkout *
+    COMMENT "Generating JPL archive"
+)
diff --git a/WaterMark/WatermarkMediaHandler.cpp b/WaterMark/WatermarkMediaHandler.cpp
new file mode 100644
index 0000000..904a589
--- /dev/null
+++ b/WaterMark/WatermarkMediaHandler.cpp
@@ -0,0 +1,173 @@
+/**
+ *  Copyright (C) 2021 Savoir-faire Linux Inc.
+ *
+ *  Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
+ *
+ *  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 3 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ */
+
+#include "WatermarkMediaHandler.h"
+
+#include "pluglog.h"
+#include <string_view>
+
+const char sep = separator();
+const std::string TAG = "Watermark";
+
+#define NAME "Watermark"
+
+namespace jami {
+
+WatermarkMediaHandler::WatermarkMediaHandler(std::map<std::string, std::string>&& preferences,
+                                             std::string&& datapath)
+    : datapath_ {datapath}
+    , preferences_ {preferences}
+{
+    setId(datapath_);
+    mediaSubscriber_ = std::make_shared<WatermarkVideoSubscriber>(datapath_, preferences_);
+}
+
+void
+WatermarkMediaHandler::notifyAVFrameSubject(const StreamData& data, jami::avSubjectPtr subject)
+{
+    std::ostringstream oss;
+    std::string_view direction = data.direction ? "Receive" : "Preview";
+    oss << "NEW SUBJECT: [" << data.id << "," << direction << "]" << std::endl;
+
+    bool preferredStreamDirection {false}; // false for output; true for input
+    auto it = preferences_.find("videostream");
+    if (it != preferences_.end()) {
+        preferredStreamDirection = it->second == "1";
+    }
+    oss << "preferredStreamDirection " << preferredStreamDirection << std::endl;
+    if (data.type == StreamType::video && !data.direction
+        && data.direction == preferredStreamDirection) {
+        if (attached_ == "1")
+            detach();
+        subject->attach(mediaSubscriber_.get()); // your image
+        oss << "got my sent image attached" << std::endl;
+        attached_ = "1";
+    } else if (data.type == StreamType::video && data.direction
+               && data.direction == preferredStreamDirection) {
+        if (attached_ == "1")
+            detach();
+        subject->attach(mediaSubscriber_.get()); // the image you receive from others on the call
+        oss << "got received image attached" << std::endl;
+        attached_ = "1";
+    }
+
+    Plog::log(Plog::LogPriority::INFO, TAG, oss.str());
+}
+
+std::map<std::string, std::string>
+WatermarkMediaHandler::getCallMediaHandlerDetails()
+{
+    return {{"name", NAME},
+            {"iconPath", datapath_ + sep + "icon.svg"},
+            {"pluginId", id()},
+            {"attached", attached_},
+            {"dataType", "1"}};
+}
+
+void
+WatermarkMediaHandler::setPreferenceAttribute(const std::string& key, const std::string& value)
+{
+    auto it = preferences_.find(key);
+    if (it != preferences_.end() && it->second != value) {
+        it->second = value;
+        if (key == "showlogo") {
+            mediaSubscriber_->setParameter(it->second, Parameter::SHOWLOGO);
+            return;
+        }
+        if (key == "mark") {
+            mediaSubscriber_->setParameter(it->second, Parameter::LOGOPATH);
+            return;
+        }
+        if (key == "markbackground") {
+            mediaSubscriber_->setParameter(it->second, Parameter::LOGOBACKGROUND);
+            return;
+        }
+        if (key == "location") {
+            mediaSubscriber_->setParameter(it->second, Parameter::LOCATION);
+            return;
+        }
+        if (key == "date") {
+            mediaSubscriber_->setParameter(it->second, Parameter::DATE);
+            return;
+        }
+        if (key == "time") {
+            mediaSubscriber_->setParameter(it->second, Parameter::TIME);
+            return;
+        }
+        if (key == "logoposition") {
+            mediaSubscriber_->setParameter(it->second, Parameter::LOGOPOSITION);
+            return;
+        }
+        if (key == "infosposition") {
+            mediaSubscriber_->setParameter(it->second, Parameter::INFOSPOSITION);
+            return;
+        }
+        if (key == "timeformat") {
+            mediaSubscriber_->setParameter(it->second, Parameter::TIMEFORMAT);
+            return;
+        }
+        if (key == "timezone") {
+            mediaSubscriber_->setParameter(it->second, Parameter::TIMEZONE);
+            mediaSubscriber_->setParameter(preferences_["timeformat"], Parameter::TIMEFORMAT);
+            return;
+        }
+        if (key == "dateformat") {
+            mediaSubscriber_->setParameter(it->second, Parameter::DATEFORMAT);
+            return;
+        }
+        if (key == "fontsize") {
+            mediaSubscriber_->setParameter(it->second, Parameter::FONTSIZE);
+            return;
+        }
+        if (key == "logosize") {
+            mediaSubscriber_->setParameter(it->second, Parameter::LOGOSIZE);
+            return;
+        }
+        if (key == "showinfos") {
+            mediaSubscriber_->setParameter(it->second, Parameter::SHOWINFOS);
+            return;
+        }
+    }
+}
+
+bool
+WatermarkMediaHandler::preferenceMapHasKey(const std::string& key)
+{
+    return (key == "showlogo" || key == "mark" || key == "markbackground" || key == "logosize"
+            || key == "showinfos" || key == "location" || key == "date" || key == "time"
+            || key == "infosposition" || key == "logoposition" || key == "timeformat"
+            || key == "timezone" || key == "dateformat" || key == "fontsize");
+}
+
+void
+WatermarkMediaHandler::detach()
+{
+    attached_ = "0";
+    mediaSubscriber_->detach();
+}
+
+WatermarkMediaHandler::~WatermarkMediaHandler()
+{
+    std::ostringstream oss;
+    oss << " ~WatermarkMediaHandler from WaterMark Plugin" << std::endl;
+    Plog::log(Plog::LogPriority::INFO, TAG, oss.str());
+    detach();
+}
+} // namespace jami
diff --git a/WaterMark/WatermarkMediaHandler.h b/WaterMark/WatermarkMediaHandler.h
new file mode 100644
index 0000000..8e618bb
--- /dev/null
+++ b/WaterMark/WatermarkMediaHandler.h
@@ -0,0 +1,52 @@
+/**
+ *  Copyright (C) 2021 Savoir-faire Linux Inc.
+ *
+ *  Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
+ *
+ *  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 3 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ */
+
+#pragma once
+
+#include "WatermarkVideoSubscriber.h"
+
+#include "plugin/jamiplugin.h"
+#include "plugin/mediahandler.h"
+
+using avSubjectPtr = std::weak_ptr<jami::Observable<AVFrame*>>;
+
+namespace jami {
+
+class WatermarkMediaHandler : public jami::CallMediaHandler
+{
+public:
+    WatermarkMediaHandler(std::map<std::string, std::string>&& preferences, std::string&& dataPath);
+    ~WatermarkMediaHandler();
+
+    virtual void notifyAVFrameSubject(const StreamData& data, avSubjectPtr subject) override;
+    virtual std::map<std::string, std::string> getCallMediaHandlerDetails() override;
+
+    virtual void detach() override;
+    virtual void setPreferenceAttribute(const std::string& key, const std::string& value) override;
+    virtual bool preferenceMapHasKey(const std::string& key) override;
+
+    std::shared_ptr<WatermarkVideoSubscriber> mediaSubscriber_;
+
+private:
+    const std::string datapath_;
+    std::map<std::string, std::string> preferences_;
+    std::string attached_ {'0'};
+};
+} // namespace jami
diff --git a/WaterMark/WatermarkVideoSubscriber.cpp b/WaterMark/WatermarkVideoSubscriber.cpp
new file mode 100644
index 0000000..5989090
--- /dev/null
+++ b/WaterMark/WatermarkVideoSubscriber.cpp
@@ -0,0 +1,475 @@
+/**
+ *  Copyright (C) 2021 Savoir-faire Linux Inc.
+ *
+ *  Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
+ *
+ *  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 3 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ */
+
+#include "WatermarkVideoSubscriber.h"
+
+extern "C" {
+#include <libavutil/display.h>
+}
+#include <accel.h>
+#include <frameScaler.h>
+
+#include <pluglog.h>
+#include <algorithm>
+#include <ctime>
+#include <clocale>
+#include <iostream>
+
+const std::string TAG = "Watermark";
+const char sep = separator();
+
+namespace jami {
+
+WatermarkVideoSubscriber::WatermarkVideoSubscriber(const std::string& dataPath,
+                                                   std::map<std::string, std::string>& preferences)
+{
+    if (std::setlocale(LC_TIME, std::locale("").name().c_str()) == NULL) {
+        Plog::log(Plog::LogPriority::INFO, TAG, "error while setting locale");
+    }
+    fontFile_ = dataPath + sep + "Muli-Light.ttf";
+#ifdef WIN32
+    for (int i = fontFile_.size(); i > 0; i--)
+        if (fontFile_[i] == '\\')
+            fontFile_.insert(i, "\\");
+    fontFile_.insert(1, "\\");
+#endif
+    try {
+        setParameter(preferences["fontsize"], Parameter::FONTSIZE);
+        setParameter(preferences["logosize"], Parameter::LOGOSIZE);
+        setParameter(preferences["markbackground"], Parameter::LOGOBACKGROUND);
+        setParameter(preferences["showinfos"], Parameter::SHOWINFOS);
+        setParameter(preferences["showlogo"], Parameter::SHOWLOGO);
+        setParameter(preferences["mark"], Parameter::LOGOPATH);
+        setParameter(preferences["date"], Parameter::DATE);
+        setParameter(preferences["dateformat"], Parameter::DATEFORMAT);
+        setParameter(preferences["time"], Parameter::TIME);
+        setParameter(preferences["timezone"], Parameter::TIMEZONE);
+        setParameter(preferences["timeformat"], Parameter::TIMEFORMAT);
+        setParameter(preferences["location"], Parameter::LOCATION);
+        setParameter(preferences["infosposition"], Parameter::INFOSPOSITION);
+        setParameter(preferences["logoposition"], Parameter::LOGOPOSITION);
+    } catch (std::exception e) {
+        Plog::log(Plog::LogPriority::ERR, TAG, e.what());
+    }
+}
+
+WatermarkVideoSubscriber::~WatermarkVideoSubscriber()
+{
+    validLogo_ = false;
+    logoFilter_.clean();
+    detach();
+    std::lock_guard<std::mutex> lk(mtx_);
+    Plog::log(Plog::LogPriority::INFO, TAG, "~WatermarkMediaProcessor");
+}
+
+MediaStream
+WatermarkVideoSubscriber::getLogoAVFrameInfos()
+{
+    AVFormatContext* ctx = avformat_alloc_context();
+
+    // Open
+    if (avformat_open_input(&ctx, logoPath_.c_str(), NULL, NULL) != 0) {
+        avformat_free_context(ctx);
+        Plog::log(Plog::LogPriority::INFO, TAG, "Couldn't open input stream.");
+        return {};
+    }
+    pFormatCtx_.reset(ctx);
+    // Retrieve stream information
+    if (avformat_find_stream_info(pFormatCtx_.get(), NULL) < 0) {
+        Plog::log(Plog::LogPriority::INFO, TAG, "Couldn't find stream information.");
+        return {};
+    }
+
+    // Dump valid information onto standard error
+    av_dump_format(pFormatCtx_.get(), 0, logoPath_.c_str(), false);
+
+    // Find the video stream
+    for (int i = 0; i < static_cast<int>(pFormatCtx_->nb_streams); i++)
+        if (pFormatCtx_->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
+            videoStream_ = i;
+            break;
+        }
+
+    if (videoStream_ == -1) {
+        Plog::log(Plog::LogPriority::INFO, TAG, "Didn't find a video stream.");
+        return {};
+    }
+
+    rational<int> fr = pFormatCtx_->streams[videoStream_]->r_frame_rate;
+    return MediaStream("logo",
+                       pFormatCtx_->streams[videoStream_]->codecpar->format,
+                       1 / fr,
+                       pFormatCtx_->streams[videoStream_]->codecpar->width,
+                       pFormatCtx_->streams[videoStream_]->codecpar->height,
+                       0,
+                       fr);
+}
+
+void
+WatermarkVideoSubscriber::loadMarkLogo()
+{
+    if (logoPath_.empty())
+        return;
+
+    logoFilter_.clean();
+    logoDescription_ = "[logo]scale=" + logoSize_ + "*" + std::to_string(pluginFrameSize_.first)
+                       + ":" + logoSize_ + "*" + std::to_string(pluginFrameSize_.second)
+                       + ":force_original_aspect_ratio='decrease',format=yuva444p,"
+                         "split=2[bg][fg],[bg]drawbox=c='"
+                       + backgroundColor_
+                       + "':replace=1:t=fill[bg],"
+                         "[bg][fg]overlay=format=auto";
+    Plog::log(Plog::LogPriority::INFO, TAG, logoDescription_);
+    logoStream_ = getLogoAVFrameInfos();
+    logoFilter_.initialize(logoDescription_, {logoStream_});
+
+    int got_frame;
+    AVCodecContext* pCodecCtx;
+    AVCodec* pCodec;
+    AVPacket* packet;
+
+    pCodecCtx = pFormatCtx_->streams[videoStream_]->codec;
+    pCodec = avcodec_find_decoder(pCodecCtx->codec_id);
+    if (pCodec == nullptr) {
+        pFormatCtx_.reset();
+        Plog::log(Plog::LogPriority::INFO, TAG, "Codec not found.");
+        validLogo_ = false;
+        return;
+    }
+
+    // Open codec
+    if (avcodec_open2(pCodecCtx, pCodec, NULL) < 0) {
+        pFormatCtx_.reset();
+        Plog::log(Plog::LogPriority::INFO, TAG, "Could not open codec.");
+        validLogo_ = false;
+        return;
+    }
+
+    packet = av_packet_alloc();
+    if (av_read_frame(pFormatCtx_.get(), packet) < 0) {
+        avcodec_close(pCodecCtx);
+        av_packet_free(&packet);
+        pFormatCtx_.reset();
+        Plog::log(Plog::LogPriority::INFO, TAG, "Could not read packet from context.");
+        validLogo_ = false;
+        return;
+    }
+
+    AVFrame* logoImage = av_frame_alloc();
+    avcodec_decode_video2(pCodecCtx, logoImage, &got_frame, packet);
+    if (got_frame) {
+        logoFilter_.feedInput(logoImage, "logo");
+    }
+    logoFilter_.feedEOF("logo");
+
+    frameFree(logoImage);
+    avcodec_close(pCodecCtx);
+    av_packet_free(&packet);
+    pFormatCtx_.reset();
+    mark_.reset(logoFilter_.readOutput());
+    mark_->pts = 0;
+    mark_->best_effort_timestamp = 0;
+    validLogo_ = mark_->width && mark_->height;
+}
+
+void
+WatermarkVideoSubscriber::setParameter(std::string& parameter, Parameter type)
+{
+    switch (type) {
+    case (Parameter::LOGOSIZE):
+        logoSize_ = parameter;
+        break;
+    case (Parameter::TIMEZONE):
+        timeZone_ = parameter == "1";
+        return;
+    case (Parameter::FONTSIZE):
+        fontSize_ = std::stoi(parameter);
+        break;
+    case (Parameter::LOGOBACKGROUND):
+        backgroundColor_ = parameter;
+        if (backgroundColor_.find("black") == std::string::npos) {
+            fontColor_ = "black";
+            fontBackground_ = "white@0.5";
+        } else {
+            fontColor_ = "white";
+            fontBackground_ = "black@0.5";
+        }
+        if (!logoPath_.empty())
+            setParameter(logoPath_, Parameter::LOGOPATH);
+        break;
+    case (Parameter::SHOWLOGO):
+        showLogo_ = parameter == "1";
+        break;
+    case (Parameter::SHOWINFOS):
+        showInfos_ = parameter == "1";
+        break;
+    case (Parameter::LOGOPATH):
+        logoPath_ = parameter;
+        break;
+    case (Parameter::TIME):
+        time_ = parameter == "1";
+        break;
+    case (Parameter::DATE):
+        date_ = parameter == "1";
+        break;
+    case (Parameter::TIMEFORMAT):
+        timeFormat_ = "%{localtime\\:'" + parameter + "'}";
+        if (timeZone_)
+            timeFormat_ = "%{localtime\\:'" + parameter + " %Z'}";
+        break;
+    case (Parameter::DATEFORMAT):
+        dateFormat_ = "%{localtime\\:'" + parameter + "'}";
+        break;
+    case (Parameter::LOCATION):
+        location_ = parameter;
+        break;
+    case (Parameter::INFOSPOSITION):
+        infosposition_ = parameter;
+        break;
+    case (Parameter::LOGOPOSITION):
+        logoposition_ = parameter;
+        break;
+    default:
+        return;
+    }
+
+    firstRun = true;
+}
+
+void
+WatermarkVideoSubscriber::setFilterDescription()
+{
+    loadMarkLogo();
+
+    std::string infoSep = ", ";
+    if (pluginFrameSize_.first < pluginFrameSize_.second)
+        infoSep = ",\n";
+
+    std::vector<std::string> infos;
+    infosSize_ = 0;
+    if (!location_.empty()) {
+        infosSize_++;
+        infos.emplace_back(location_);
+    }
+    if (date_) {
+        infosSize_++;
+        infos.emplace_back(dateFormat_);
+    }
+    if (time_) {
+        infosSize_++;
+        infos.emplace_back(timeFormat_);
+    }
+    infosString.clear();
+    for (int i = 0; i < infosSize_ - 1; i++)
+        infosString += infos[i] + infoSep;
+    if (infosSize_ > 0)
+        infosString += infos.back();
+
+    setMarkPosition();
+
+    std::string rotateSides = "";
+    if (std::abs(angle_) == 90)
+        rotateSides = ":out_w=ih:out_h=iw";
+
+    if (angle_ != 0)
+        pluginFilterDescription_ = "[input]rotate=" + rotation[angle_] + rotateSides
+                                   + "[rot],[rot][mark]overlay=" + std::to_string(points_[0].first)
+                                   + ":" + std::to_string(points_[0].second)
+                                   + ",rotate=" + rotation[-angle_] + rotateSides;
+    else
+        pluginFilterDescription_ = "[input][mark]overlay=" + std::to_string(points_[0].first) + ":"
+                                   + std::to_string(points_[0].second);
+
+    std::string baseInfosDescription = "[input]rotate=" + rotation[angle_] + rotateSides
+                                       + ",drawtext=fontfile='" + fontFile_ + "':text='"
+                                       + infosString + "':fontcolor=" + fontColor_
+                                       + ":fontsize=" + std::to_string(fontSize_)
+                                       + ":line_spacing=" + std::to_string(lineSpacing_)
+                                       + ":box=1:boxcolor=" + fontBackground_ + ":boxborderw=5:x=";
+
+    if (infosposition_ == "1")
+        infosDescription_ = baseInfosDescription + std::to_string(points_[1].first)
+                            + "-text_w:y=" + std::to_string(points_[1].second);
+    else if (infosposition_ == "2")
+        infosDescription_ = baseInfosDescription + std::to_string(points_[1].first)
+                            + ":y=" + std::to_string(points_[1].second);
+    else if (infosposition_ == "3")
+        infosDescription_ = baseInfosDescription + std::to_string(points_[1].first)
+                            + ":y=" + std::to_string(points_[1].second) + "-text_h";
+    else if (infosposition_ == "4")
+        infosDescription_ = baseInfosDescription + std::to_string(points_[1].first)
+                            + "-text_w:y=" + std::to_string(points_[1].second) + "-text_h";
+    infosDescription_ += ",rotate=" + rotation[-angle_] + rotateSides + ",format=rgb24";
+
+    Plog::log(Plog::LogPriority::INFO, TAG, infosDescription_);
+    Plog::log(Plog::LogPriority::INFO, TAG, pluginFilterDescription_);
+}
+
+void
+WatermarkVideoSubscriber::setMarkPosition()
+{
+    // 1, 2, 3, and 4 are cartesian positions
+    int margin = 10;
+    int markWidth = showLogo_ ? mark_->width : 0;
+    int markHeight = showLogo_ ? mark_->height : 0;
+    int infoHeight = (std::abs(angle_) == 90) ? (fontSize_ + lineSpacing_) * infosSize_
+                                              : lineSpacing_ * 2 + fontSize_;
+    if (pluginFrameSize_.first == 0 || pluginFrameSize_.second == 0)
+        return;
+
+    if (infosposition_ == "1") {
+        points_[1] = {pluginFrameSize_.first - margin, margin};
+    } else if (infosposition_ == "2") {
+        points_[1] = {margin, margin};
+    } else if (infosposition_ == "3") {
+        points_[1] = {margin, pluginFrameSize_.second - margin};
+    } else if (infosposition_ == "4") {
+        points_[1] = {pluginFrameSize_.first - margin, pluginFrameSize_.second - margin};
+    }
+    if (logoposition_ == "1") {
+        points_[0] = {pluginFrameSize_.first - mark_->width - margin / 2, margin};
+    } else if (logoposition_ == "2") {
+        points_[0] = {margin / 2, margin};
+    } else if (logoposition_ == "3") {
+        points_[0] = {margin / 2, pluginFrameSize_.second - markHeight - margin};
+    } else if (logoposition_ == "4") {
+        points_[0] = {pluginFrameSize_.first - markWidth - margin / 2,
+                      pluginFrameSize_.second - markHeight - margin};
+    }
+
+    if (infosposition_ == logoposition_ && showInfos_ && showLogo_) {
+        if (logoposition_ == "1" || logoposition_ == "2") {
+            points_[0].second += infoHeight;
+        } else if (logoposition_ == "3" || logoposition_ == "4") {
+            points_[0].second -= infoHeight;
+        }
+    }
+}
+
+void
+WatermarkVideoSubscriber::update(jami::Observable<AVFrame*>*, AVFrame* const& pluginFrame)
+{
+    if (!observable_ || !pluginFrame || (!validLogo_ && showLogo_))
+        return;
+
+    AVFrameSideData* side_data = av_frame_get_side_data(pluginFrame, AV_FRAME_DATA_DISPLAYMATRIX);
+    int newAngle {0};
+    if (side_data) {
+        auto matrix_rotation = reinterpret_cast<int32_t*>(side_data->data);
+        newAngle = static_cast<int>(av_display_rotation_get(matrix_rotation));
+    }
+    if (newAngle != angle_) {
+        angle_ = newAngle;
+        firstRun = true;
+    }
+
+    //======================================================================================
+    // GET RAW FRAME
+    wmFrame rgbFrame = {transferToMainMemory(pluginFrame, AV_PIX_FMT_NV12), frameFree};
+    rgbFrame.reset(FrameScaler::convertFormat(rgbFrame.get(), AV_PIX_FMT_RGB24));
+    if (!rgbFrame.get())
+        return;
+    rgbFrame->pts = 1;
+
+    if (firstRun) {
+        pluginFilter_.clean();
+        infosFilter_.clean();
+        pluginFrameSize_ = {rgbFrame->width, rgbFrame->height};
+        if (std::abs(angle_) == 90)
+            pluginFrameSize_ = {rgbFrame->height, rgbFrame->width};
+
+        setFilterDescription();
+
+        rational<int> fr(rgbFrame->pts, 1);
+        pluginstream_ = MediaStream("input",
+                                    rgbFrame->format,
+                                    1 / fr,
+                                    rgbFrame->width,
+                                    rgbFrame->height,
+                                    0,
+                                    fr);
+
+        if (showLogo_) {
+            MediaStream markstream_ = MediaStream("mark",
+                                                  mark_->format,
+                                                  logoStream_.timeBase,
+                                                  mark_->width,
+                                                  mark_->height,
+                                                  0,
+                                                  logoStream_.frameRate);
+            pluginFilter_.initialize(pluginFilterDescription_, {markstream_, pluginstream_});
+            pluginFilter_.feedInput(mark_.get(), "mark");
+            pluginFilter_.feedEOF("mark");
+        }
+
+        infosFilter_.initialize(infosDescription_, {pluginstream_});
+        firstRun = false;
+    }
+
+    if (!infosFilter_.initialized_ && !pluginFilter_.initialized_)
+        return;
+
+    if (showLogo_) {
+        if (pluginFilter_.feedInput(rgbFrame.get(), "input") == 0) {
+            wmFrame filteredFrame = {pluginFilter_.readOutput(), frameFree};
+            if (filteredFrame.get())
+                moveFrom(rgbFrame.get(), filteredFrame.get());
+        }
+    }
+    if (showInfos_) {
+        if (infosFilter_.feedInput(rgbFrame.get(), "input") == 0) {
+            wmFrame filteredFrame = {infosFilter_.readOutput(), frameFree};
+            if (filteredFrame.get())
+                moveFrom(rgbFrame.get(), filteredFrame.get());
+        }
+    }
+    if (showInfos_ || showLogo_) {
+        moveFrom(pluginFrame, rgbFrame.get());
+    }
+}
+
+void
+WatermarkVideoSubscriber::attached(jami::Observable<AVFrame*>* observable)
+{
+    Plog::log(Plog::LogPriority::INFO, TAG, "Attached!");
+    observable_ = observable;
+}
+
+void
+WatermarkVideoSubscriber::detached(jami::Observable<AVFrame*>*)
+{
+    pluginFilter_.clean();
+    infosFilter_.clean();
+    firstRun = true;
+    observable_ = nullptr;
+    Plog::log(Plog::LogPriority::INFO, TAG, "Detached!");
+    mtx_.unlock();
+}
+
+void
+WatermarkVideoSubscriber::detach()
+{
+    if (observable_) {
+        mtx_.lock();
+        firstRun = true;
+        observable_->detach(this);
+    }
+}
+} // namespace jami
diff --git a/WaterMark/WatermarkVideoSubscriber.h b/WaterMark/WatermarkVideoSubscriber.h
new file mode 100644
index 0000000..69fd440
--- /dev/null
+++ b/WaterMark/WatermarkVideoSubscriber.h
@@ -0,0 +1,127 @@
+/**
+ *  Copyright (C) 2021 Savoir-faire Linux Inc.
+ *
+ *  Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
+ *
+ *  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 3 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ */
+
+#pragma once
+
+extern "C" {
+#include <libavutil/frame.h>
+}
+#include <observer.h>
+#include <frameUtils.h>
+#include <frameFilter.h>
+#include <map>
+#include <array>
+
+namespace jami {
+
+using wmFrame = std::unique_ptr<AVFrame, decltype(&frameFree)>;
+
+enum Parameter {
+    TIME,
+    DATE,
+    TIMEFORMAT,
+    DATEFORMAT,
+    LOGOPATH,
+    SHOWLOGO,
+    LOCATION,
+    LOGOPOSITION,
+    INFOSPOSITION,
+    LOGOBACKGROUND,
+    FONTSIZE,
+    TIMEZONE,
+    LOGOSIZE,
+    SHOWINFOS,
+};
+
+class WatermarkVideoSubscriber : public jami::Observer<AVFrame*>
+{
+public:
+    WatermarkVideoSubscriber(const std::string& dataPath,
+                             std::map<std::string, std::string>& preferences);
+    ~WatermarkVideoSubscriber();
+
+    virtual void update(jami::Observable<AVFrame*>*, AVFrame* const&) override;
+    virtual void attached(jami::Observable<AVFrame*>*) override;
+    virtual void detached(jami::Observable<AVFrame*>*) override;
+
+    void detach();
+
+    MediaStream getLogoAVFrameInfos();
+    void loadMarkLogo();
+    void setFilterDescription();
+
+    void setParameter(std::string& parameter, Parameter type);
+
+private:
+    void setMarkPosition();
+
+    Observable<AVFrame*>* observable_ {};
+    bool firstRun {true};
+    std::mutex mtx_;
+    int angle_ {0};
+
+    std::pair<int, int> pluginFrameSize_ {0, 0};
+    std::string infosposition_ = "1";
+    std::string logoposition_ = "1";
+    std::array<std::pair<int, int>, 2> points_;
+    std::string logoPath_ = "";
+    std::string backgroundColor_ = "black@0.0";
+    bool showLogo_ {false};
+    bool validLogo_ {true};
+    std::string logoSize_ = "0.1";
+    std::unique_ptr<AVFormatContext, std::function<void(AVFormatContext*)>> pFormatCtx_
+        = {avformat_alloc_context(), [](AVFormatContext* ptr) {
+               avformat_close_input(&ptr);
+               avformat_free_context(ptr);
+           }};
+    int videoStream_ {-1};
+    bool showInfos_ {true};
+    std::string location_;
+    bool date_ {false};
+    bool time_ {false};
+    bool timeZone_ {false};
+    std::string dateFormat_ = "";
+    std::string timeFormat_ = "";
+    std::string fontFile_;
+
+    FrameFilter pluginFilter_;
+    std::string pluginFilterDescription_;
+    MediaStream pluginstream_;
+    FrameFilter logoFilter_;
+    MediaStream logoStream_;
+    std::string logoDescription_;
+    wmFrame mark_ = {av_frame_alloc(), frameFree};
+
+    FrameFilter infosFilter_;
+    std::string infosDescription_;
+    std::string infosString = "";
+    int fontSize_ {14};
+    int lineSpacing_ {5};
+    int infosSize_ {0};
+    std::string fontColor_ = "white";
+    std::string fontBackground_ = "black@0.5";
+
+    std::map<int, std::string> rotation = {{-90, "-PI/2"},
+                                           {90, "PI/2"},
+                                           {-180, "-PI"},
+                                           {180, "PI"},
+                                           {0, "0"}};
+};
+} // namespace jami
diff --git a/WaterMark/build.sh b/WaterMark/build.sh
new file mode 100755
index 0000000..314cbe7
--- /dev/null
+++ b/WaterMark/build.sh
@@ -0,0 +1,254 @@
+#! /bin/bash
+# Build the plugin for the project
+set -e
+export OSTYPE
+ARCH=$(arch)
+EXTRAPATH=''
+# Flags:
+
+# -p: number of processors to use
+# -c: Runtime plugin cpu/gpu setting.
+# -t: target platform.
+
+
+if [ -z "${DAEMON}" ]; then
+    DAEMON="./../../daemon"
+    echo "DAEMON not provided, building with ${DAEMON}"
+fi
+
+PLUGIN_NAME="WaterMark"
+JPL_FILE_NAME="${PLUGIN_NAME}.jpl"
+SO_FILE_NAME="lib${PLUGIN_NAME}.so"
+DAEMON_SRC="${DAEMON}/src"
+CONTRIB_PATH="${DAEMON}/contrib"
+PLUGINS_LIB="../lib"
+LIBS_DIR="./../contrib/Libs"
+
+if [ -z "${PLATFORM}" ]; then
+    PLATFORM="linux-gnu"
+    echo "PLATFORM not provided, building with ${PLATFORM}"
+    echo "Other options: redhat-linux"
+fi
+
+while getopts t:c:p OPT; do
+  case "$OPT" in
+    t)
+      PLATFORM="${OPTARG}"
+    ;;
+    c)
+      PROCESSOR="${OPTARG}"
+    ;;
+    p)
+    ;;
+    \?)
+      exit 1
+    ;;
+  esac
+done
+
+cp -r ffmpeg ${CONTRIB_PATH}/src/
+
+if [ "${PLATFORM}" = "linux-gnu" ] || [ "${PLATFORM}" = "redhat-linux" ]
+then
+    if [ -f "${CONTRIB_PATH}/native/.ffmpeg" ]; then
+        rm "${CONTRIB_PATH}/native/.ffmpeg"
+    fi
+    WORKPATH=$(pwd)
+    cd "${CONTRIB_PATH}/native/"
+    make .ffmpeg -j$(nproc)
+    rm .ffmpeg
+    cd ${WORKPATH}
+
+    python3 ./../SDK/jplManipulation.py --preassemble --plugin=${PLUGIN_NAME}
+
+    CONTRIB_PLATFORM_CURT=${ARCH}
+    CONTRIB_PLATFORM=${CONTRIB_PLATFORM_CURT}-${PLATFORM}
+
+    # Compile
+    clang++ -std=c++17 -shared -fPIC \
+    -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
+    -Wall -Wextra \
+    -Wno-unused-variable \
+    -Wno-unused-function \
+    -Wno-unused-parameter \
+    -I"." \
+    -I"${DAEMON_SRC}" \
+    -I"${CONTRIB_PATH}/${CONTRIB_PLATFORM}/include" \
+    -I"${PLUGINS_LIB}" \
+    ./../lib/accel.cpp \
+    ./../lib/frameUtils.cpp \
+    ./../lib/frameFilter.cpp \
+    WatermarkVideoSubscriber.cpp \
+    main.cpp \
+    WatermarkMediaHandler.cpp \
+    -L"${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib/" \
+    -l:libavfilter.a \
+    -l:libswscale.a \
+    -l:libavformat.a \
+    -l:libavcodec.a \
+    -l:libavutil.a \
+    -l:libvpx.a \
+    -l:libx264.a \
+    -lfreetype \
+    -lva \
+    -o "build-local/jpl/lib/${CONTRIB_PLATFORM_CURT}-linux-gnu/${SO_FILE_NAME}"
+
+elif [ "${PLATFORM}" = "android" ]
+then
+    python3 ./../SDK/jplManipulation.py --preassemble --plugin=${PLUGIN_NAME} --distribution=${PLATFORM}
+
+    if [ -z "$ANDROID_NDK" ]; then
+            ANDROID_NDK="/home/${USER}/Android/Sdk/ndk/21.1.6352462"
+        echo "ANDROID_NDK not provided, building with ${ANDROID_NDK}"
+    fi
+
+    #=========================================================
+    #    Check if the ANDROID_ABI was provided
+    #    if not, set default
+    #=========================================================
+    if [ -z "$ANDROID_ABI" ]; then
+        ANDROID_ABI="armeabi-v7a arm64-v8a x86_64"
+        echo "ANDROID_ABI not provided, building for ${ANDROID_ABI}"
+    fi
+
+    buildlib() {
+        echo "$CURRENT_ABI"
+
+        #=========================================================
+        #    ANDROID TOOLS
+        #=========================================================
+        export HOST_TAG=linux-x86_64
+        export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+
+        if [ "$CURRENT_ABI" = armeabi-v7a ]
+        then
+        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
+        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
+        export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
+        export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
+        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
+        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
+        export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
+        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
+
+        elif [ "$CURRENT_ABI" = arm64-v8a ]
+        then
+        export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
+        export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
+        export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
+        export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
+        export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
+        export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
+        export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
+        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
+
+        elif [ "$CURRENT_ABI" = x86_64 ]
+        then
+        export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
+        export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
+        export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
+        export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
+        export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
+        export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
+        export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
+        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
+
+        else
+        echo "ABI NOT OK" >&2
+        exit 1
+        fi
+
+        #=========================================================
+        #    CONTRIBS
+        #=========================================================
+        if [ "$CURRENT_ABI" = armeabi-v7a ]
+        then
+        CONTRIB_PLATFORM=arm-linux-androideabi
+
+        elif [ "$CURRENT_ABI" = arm64-v8a ]
+        then
+        CONTRIB_PLATFORM=aarch64-linux-android
+
+        elif [ "$CURRENT_ABI" = x86_64 ]
+        then
+        CONTRIB_PLATFORM=x86_64-linux-android
+        fi
+
+        #NDK SOURCES FOR cpufeatures
+        NDK_SOURCES=${ANDROID_NDK}/sources/android
+
+        #=========================================================
+        #    LD_FLAGS
+        #=========================================================
+        if [ "$CURRENT_ABI" = armeabi-v7a ]
+        then
+        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
+        elif [ "$CURRENT_ABI" = arm64-v8a ]
+        then
+        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
+        elif [ "$CURRENT_ABI" = x86_64 ]
+        then
+        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
+        fi
+
+        if [ -f "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" ]; then
+            rm "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg"
+        fi
+
+        WORKPATH=$(pwd)
+        cd "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/"
+        make .ffmpeg -j$(nproc)
+        rm .ffmpeg
+        cd ${WORKPATH}
+
+        #=========================================================
+        #    Compile the plugin
+        #=========================================================
+
+        # Create so destination folder
+        $CXX --std=c++17 -O3 -g -fPIC \
+        -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
+        -shared \
+        -Wall -Wextra \
+        -Wno-unused-variable \
+        -Wno-unused-function \
+        -Wno-unused-parameter \
+        -I"." \
+        -I"${DAEMON_SRC}" \
+        -I"${CONTRIB_PATH}/${CONTRIB_PLATFORM}/include" \
+        -I"${PLUGINS_LIB}" \
+        ./../lib/accel.cpp \
+        ./../lib/frameUtils.cpp \
+        ./../lib/frameFilter.cpp \
+        WatermarkVideoSubscriber.cpp \
+        main.cpp \
+        WatermarkMediaHandler.cpp \
+        -L"${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib/" \
+        -lavfilter \
+        -lswscale \
+        -lavformat \
+        -lavcodec \
+        -lavutil \
+        -lvpx \
+        -lx264 \
+        -lspeex \
+        -lopus \
+        -liconv \
+        -l:libfreetype.a \
+        -llog -lz \
+        --sysroot=$ANDROID_SYSROOT \
+        -o "build-local/jpl/lib/$CURRENT_ABI/${SO_FILE_NAME}"
+    }
+
+    # Build the so
+    for i in ${ANDROID_ABI}; do
+        CURRENT_ABI=$i
+        buildlib
+    done
+fi
+
+python3 ./../SDK/jplManipulation.py --assemble --plugin=${PLUGIN_NAME} --distribution=${PLATFORM} --extraPath=${EXTRAPATH}
+cd ${CONTRIB_PATH}/src/ffmpeg/
+# ffmpeg build configuration files were changed during plugin build
+# this git checkout will remove these changes
+git checkout -- .
diff --git a/WaterMark/data/Muli-Light.ttf b/WaterMark/data/Muli-Light.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..0ffcfba2e8bfeea6944bfbba39447991daeffc97
GIT binary patch
literal 48856
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
Y<YpcYMjovljQ?9Vu=H*O-FV0V03U4n^#A|>

literal 0
HcmV?d00001

diff --git a/WaterMark/data/SIL Open Font License.txt b/WaterMark/data/SIL Open Font License.txt
new file mode 100644
index 0000000..b91810c
--- /dev/null
+++ b/WaterMark/data/SIL Open Font License.txt	
@@ -0,0 +1,44 @@
+Copyright (c) 2011 by vernon adams (vern@newtypography.co.uk),
+with Reserved Font Name "Muli".
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
\ No newline at end of file
diff --git a/WaterMark/data/defaultWM.png b/WaterMark/data/defaultWM.png
new file mode 100644
index 0000000000000000000000000000000000000000..916e18ee3f95546b89f5536550afe77fe6c09672
GIT binary patch
literal 41968
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

literal 0
HcmV?d00001

diff --git a/WaterMark/data/icon.png b/WaterMark/data/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..916e18ee3f95546b89f5536550afe77fe6c09672
GIT binary patch
literal 41968
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

literal 0
HcmV?d00001

diff --git a/WaterMark/data/icon.svg b/WaterMark/data/icon.svg
new file mode 100644
index 0000000..ac8b20e
--- /dev/null
+++ b/WaterMark/data/icon.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="300px" height="300px" viewBox="0 0 300 300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>W</title>
+    <defs>
+        <path d="M0,2.743 C0,2.743 32.3993571,198.739667 45.5971714,217.628667 L45.5971714,217.628667 C45.5971714,217.628667 50.6529429,227.105667 59.4745714,228.735 L59.4745714,228.735 C68.2962,230.364333 113.239757,227.998333 113.239757,227.998333 L113.239757,227.998333 C113.239757,227.998333 106.764214,225.94 103.8381,217.446667 L103.8381,217.446667 C100.916314,208.962 65.3311286,2.743 65.3311286,2.743 L65.3311286,2.743 L0,2.743 Z" id="path-1"></path>
+        <linearGradient x1="39.2440996%" y1="87.0275081%" x2="61.2274583%" y2="10.7625274%" id="linearGradient-3">
+            <stop stop-color="#0B9ADB" offset="0%"></stop>
+            <stop stop-color="#2867A1" offset="100%"></stop>
+        </linearGradient>
+        <path d="M60.0286286,3.58366667 C60.0286286,3.58366667 50.4495,4.966 47.4324857,13.8363333 L47.4324857,13.8363333 C44.4111429,22.7023333 11.8429714,157.919667 10.4708143,161.113333 L10.4708143,161.113333 C6.93004286,169.368333 1.4241,172.557667 1.4241,172.557667 L1.4241,172.557667 C1.4241,172.557667 38.9225143,174.239 54.8343429,172.401667 L54.8343429,172.401667 C54.8343429,172.401667 62.3314286,170.911 66.1535571,161.234667 L66.1535571,161.234667 C69.9800143,151.562667 97.0032857,4.251 117.113829,3.90433333 L117.113829,3.90433333 C117.113829,3.90433333 93.1075714,2.93792096 75.8625429,2.93792096 L75.8625429,2.93792096 C68.6554714,2.93366667 62.6257714,3.107 60.0286286,3.58366667" id="path-4"></path>
+        <linearGradient x1="69.4476648%" y1="-2.51210087%" x2="28.8227278%" y2="101.195103%" id="linearGradient-6">
+            <stop stop-color="#2D497C" offset="0%"></stop>
+            <stop stop-color="#171744" offset="100%"></stop>
+        </linearGradient>
+        <path d="M2.40668571,3.978 C22.5129,4.329 49.5405,151.636333 53.3669571,161.308333 L53.3669571,161.308333 C57.1890857,170.984667 64.6818429,172.475333 64.6818429,172.475333 L64.6818429,172.475333 C70.1055429,173.099333 78.0268286,173.320333 86.1255857,173.333333 L86.1255857,173.333333 L87.9349286,173.333333 C103.02,173.307333 118.096414,172.631333 118.096414,172.631333 L118.096414,172.631333 C118.096414,172.631333 112.590471,169.442 109.0497,161.187 L109.0497,161.187 C107.677543,157.993333 75.1093714,22.776 72.0880286,13.9143333 L72.0880286,13.9143333 C69.0666857,5.03966667 59.4962143,3.65733333 59.4962143,3.65733333 L59.4962143,3.65733333 C46.6706571,3.06366667 36.4032857,2.86 28.3088571,2.86 L28.3088571,2.86 C9.45792857,2.86 2.40668571,3.978 2.40668571,3.978" id="path-7"></path>
+        <linearGradient x1="30.5860506%" y1="-2.42062659%" x2="71.1392931%" y2="101.195026%" id="linearGradient-9">
+            <stop stop-color="#0B9ADB" offset="0%"></stop>
+            <stop stop-color="#2867A1" offset="100%"></stop>
+        </linearGradient>
+        <polygon id="path-10" points="1.74181714 2.74733333 113.245817 2.74733333 113.245817 229.383137 1.74181714 229.383137"></polygon>
+    </defs>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="Group-13" transform="translate(0.000000, 33.000000)">
+            <g id="Group-3" transform="translate(0.000000, 1.586867)">
+                <mask id="mask-2" fill="white">
+                    <use xlink:href="#path-1"></use>
+                </mask>
+                <g id="Clip-2"></g>
+                <path d="M0,2.743 C0,2.743 32.3993571,198.739667 45.5971714,217.628667 L45.5971714,217.628667 C45.5971714,217.628667 50.6529429,227.105667 59.4745714,228.735 L59.4745714,228.735 C68.2962,230.364333 113.239757,227.998333 113.239757,227.998333 L113.239757,227.998333 C113.239757,227.998333 106.764214,225.94 103.8381,217.446667 L103.8381,217.446667 C100.916314,208.962 65.3311286,2.743 65.3311286,2.743 L65.3311286,2.743 L0,2.743 Z" id="Fill-1" fill="url(#linearGradient-3)" mask="url(#mask-2)"></path>
+            </g>
+            <g id="Group-6" transform="translate(60.600000, 57.920200)">
+                <mask id="mask-5" fill="white">
+                    <use xlink:href="#path-4"></use>
+                </mask>
+                <g id="Clip-5"></g>
+                <path d="M60.0286286,3.58366667 C60.0286286,3.58366667 50.4495,4.966 47.4324857,13.8363333 L47.4324857,13.8363333 C44.4111429,22.7023333 11.8429714,157.919667 10.4708143,161.113333 L10.4708143,161.113333 C6.93004286,169.368333 1.4241,172.557667 1.4241,172.557667 L1.4241,172.557667 C1.4241,172.557667 38.9225143,174.239 54.8343429,172.401667 L54.8343429,172.401667 C54.8343429,172.401667 62.3314286,170.911 66.1535571,161.234667 L66.1535571,161.234667 C69.9800143,151.562667 97.0032857,4.251 117.113829,3.90433333 L117.113829,3.90433333 C117.113829,3.90433333 93.1075714,2.93792096 75.8625429,2.93792096 L75.8625429,2.93792096 C68.6554714,2.93366667 62.6257714,3.107 60.0286286,3.58366667" id="Fill-4" fill="url(#linearGradient-6)" mask="url(#mask-5)"></path>
+            </g>
+            <g id="Group-9" transform="translate(121.200000, 57.920200)">
+                <mask id="mask-8" fill="white">
+                    <use xlink:href="#path-7"></use>
+                </mask>
+                <g id="Clip-8"></g>
+                <path d="M2.40668571,3.978 C22.5129,4.329 49.5405,151.636333 53.3669571,161.308333 L53.3669571,161.308333 C57.1890857,170.984667 64.6818429,172.475333 64.6818429,172.475333 L64.6818429,172.475333 C70.1055429,173.099333 78.0268286,173.320333 86.1255857,173.333333 L86.1255857,173.333333 L87.9349286,173.333333 C103.02,173.307333 118.096414,172.631333 118.096414,172.631333 L118.096414,172.631333 C118.096414,172.631333 112.590471,169.442 109.0497,161.187 L109.0497,161.187 C107.677543,157.993333 75.1093714,22.776 72.0880286,13.9143333 L72.0880286,13.9143333 C69.0666857,5.03966667 59.4962143,3.65733333 59.4962143,3.65733333 L59.4962143,3.65733333 C46.6706571,3.06366667 36.4032857,2.86 28.3088571,2.86 L28.3088571,2.86 C9.45792857,2.86 2.40668571,3.978 2.40668571,3.978" id="Fill-7" fill="url(#linearGradient-9)" mask="url(#mask-8)"></path>
+            </g>
+            <g id="Group-12" transform="translate(186.128571, 1.586867)">
+                <mask id="mask-11" fill="white">
+                    <use xlink:href="#path-10"></use>
+                </mask>
+                <g id="Clip-11"></g>
+                <path d="M48.6592029,2.74603333 C48.6592029,2.74603333 13.0783457,208.9607 10.1522314,217.4497 C7.23044571,225.9387 1.74181714,228.413033 1.74181714,228.413033 C1.74181714,228.413033 45.69846,230.363033 54.5200886,228.7337 C63.3417171,227.104367 68.3974886,217.627367 68.3974886,217.627367 C76.6996886,201.559367 113.245817,2.74603333 113.245817,2.74603333 L48.6592029,2.74603333 Z" id="Fill-10" fill="#0C9BDB" mask="url(#mask-11)"></path>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/WaterMark/data/preferences.json b/WaterMark/data/preferences.json
new file mode 100644
index 0000000..daa581b
--- /dev/null
+++ b/WaterMark/data/preferences.json
@@ -0,0 +1,275 @@
+[
+    {
+        "type": "List",
+        "key": "videostream",
+        "title": "Video stream",
+        "summary": "Select a stream",
+        "defaultValue": "1",
+        "scope": "plugin",
+        "entryValues": [
+            "0",
+            "1"
+        ],
+        "entries": [
+            "Sent",
+            "Received"
+        ]
+    },
+    {
+        "category": "Set a logo image",
+        "type": "Switch",
+        "key": "showlogo",
+        "title": "Use a logo image",
+        "summary": "Do you want to display a logo image?",
+        "defaultValue": "1",
+        "scope": "plugin,Watermark"
+    },
+    {
+        "category": "Set a logo image",
+        "type": "List",
+        "key": "logoposition",
+        "title": "WaterMark position",
+        "summary": "Where display the logo?",
+        "defaultValue": "3",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showlogo",
+        "entryValues": [
+            "1",
+            "2",
+            "3",
+            "4"
+        ],
+        "entries": [
+            "TopRight",
+            "TopLeft",
+            "BottomLeft",
+            "BottomRight"
+        ]
+    },
+    {
+        "category": "Set a logo image",
+        "type": "Path",
+        "key": "mark",
+        "title": "Choose a WaterMark logo image",
+        "summary": "Choose an image file",
+        "defaultValue": "data/defaultWM.png",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showlogo",
+        "mimeType": "*/png,*/jpg,*/jpeg"
+    },
+    {
+        "category": "Set a logo image",
+        "type": "List",
+        "key": "markbackground",
+        "title": "Add a background color",
+        "summary": "If you cannot see properly your logo, adding a background may be helpful",
+        "defaultValue": "black@0.0",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showlogo",
+        "entryValues": [
+            "black@0.0",
+            "black@0.5",
+            "white@0.5"
+        ],
+        "entries": [
+            "None",
+            "Black",
+            "White"
+        ]
+    },
+    {
+        "category": "Set a logo image",
+        "type": "List",
+        "key": "logosize",
+        "title": "Logo size",
+        "summary": "set a logo size",
+        "defaultValue": "0.1",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showlogo",
+        "entryValues": [
+            "0.1",
+            "0.15",
+            "0.2",
+            "0.25",
+            "0.4",
+            "0.6",
+            "0.8",
+            "1.0"
+        ],
+        "entries": [
+            "10%",
+            "15%",
+            "20%",
+            "25%",
+            "40%",
+            "60%",
+            "80%",
+            "100%"
+        ]
+    },
+    {
+        "category": "Set a text",
+        "type": "Switch",
+        "key": "showinfos",
+        "title": "Use informations",
+        "summary": "Do you want to display informations?",
+        "defaultValue": "1",
+        "scope": "plugin,Watermark"
+    },
+    {
+        "category": "Set a text",
+        "type": "List",
+        "key": "infosposition",
+        "title": "Text position",
+        "summary": "Where display text?",
+        "defaultValue": "3",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos",
+        "entryValues": [
+            "1",
+            "2",
+            "3",
+            "4"
+        ],
+        "entries": [
+            "TopRight",
+            "TopLeft",
+            "BottomLeft",
+            "BottomRight"
+        ]
+    },
+    {
+        "category": "Set a text",
+        "type": "EditText",
+        "key": "location",
+        "title": "Information to be displayed",
+        "summary": "Write any information you want to display, like city or project name",
+        "defaultValue": "",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos"
+    },
+    {
+        "category": "Set a text",
+        "type": "Switch",
+        "key": "date",
+        "title": "Date",
+        "summary": "Do you want to display the date?",
+        "defaultValue": "1",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos"
+    },
+    {
+        "category": "Set a text",
+        "type": "List",
+        "key": "dateformat",
+        "title": "Date format",
+        "summary": "Choose date format",
+        "defaultValue": "%x",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos",
+        "entryValues": [
+            "%x",
+            "%a %Y/%m/%d",
+            "%a %m/%d/%Y",
+            "%a %d/%m/%Y",
+            "%Y/%m/%d",
+            "%m/%d/%Y",
+            "%d/%m/%Y",
+            "%b %d %Y",
+            "%d %b %Y "
+        ],
+        "entries": [
+            "Language pattern",
+            "WeekDay YYYY/MM/DD",
+            "WeekDay MM/DD/YYYY",
+            "WeekDay DD/MM/YYYY",
+            "YYYY/MM/DD",
+            "MM/DD/YYYY",
+            "DD/MM/YYYY",
+            "Month DD YYYY",
+            "DD Month YYYY"
+        ]
+    },
+    {
+        "category": "Set a text",
+        "type": "Switch",
+        "key": "time",
+        "title": "Time",
+        "summary": "Do you want to display the time?",
+        "defaultValue": "1",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos"
+    },
+    {
+        "category": "Set a text",
+        "type": "List",
+        "key": "timeformat",
+        "title": "Time Format",
+        "summary": "Choose time format",
+        "defaultValue": "%X",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos",
+        "entryValues": [
+            "%X",
+            "%R",
+            "%T",
+            "%I\\\\\\\\\\\\:%M %p",
+            "%r"
+        ],
+        "entries": [
+            "Language pattern",
+            "HH:MM (24H)",
+            "HH:MM:SS (24H)",
+            "HH:MM (12H)",
+            "HH:MM:SS (12H)"
+        ]
+    },
+    {
+        "category": "Set a text",
+        "type": "Switch",
+        "key": "timezone",
+        "title": "Time Zone",
+        "summary": "Display time zone?",
+        "defaultValue": "1",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos"
+    },
+    {
+        "category": "Set a text",
+        "type": "List",
+        "key": "fontsize",
+        "title": "Font size",
+        "summary": "Choose font size",
+        "defaultValue": "14",
+        "scope": "plugin,Watermark",
+        "dependsOn": "showinfos",
+        "entryValues": [
+            "10",
+            "12",
+            "14",
+            "16",
+            "18",
+            "24",
+            "36",
+            "72"
+        ],
+        "entries": [
+            "10",
+            "12",
+            "14",
+            "16",
+            "18",
+            "24",
+            "36",
+            "72"
+        ]
+    },
+    {
+        "type": "Switch",
+        "key": "WatermarkAlways",
+        "title": "Use WaterMark as default",
+        "summary": "Do you want to always turn WaterMark on?",
+        "defaultValue": "1",
+        "scope": "plugin"
+    }
+]
\ No newline at end of file
diff --git a/WaterMark/ffmpeg/package.json b/WaterMark/ffmpeg/package.json
new file mode 100644
index 0000000..c20005a
--- /dev/null
+++ b/WaterMark/ffmpeg/package.json
@@ -0,0 +1,36 @@
+{
+    "name": "ffmpeg",
+    "version": "9f38fac053010205806ece11e6aea9b7d3bde041",
+    "url": "https://github.com/FFmpeg/FFmpeg/archive/__VERSION__.tar.gz",
+    "deps": [
+        "zlib",
+        "freetype",
+        "vpx",
+        "x264",
+        "opus",
+        "ffnvcodec",
+        "media-sdk"
+    ],
+    "patches": [
+        "change-RTCP-ratio.patch",
+        "rtp_ext_abs_send_time.patch",
+        "libopusenc-enable-FEC.patch",
+        "libopusdec-enable-FEC.patch"
+    ],
+    "win_patches": [
+        "windows-configure.patch",
+        "windows-configure-ffnvcodec.patch",
+        "windows-configure-libmfx.patch"
+    ],
+    "project_paths": [],
+    "with_env" : "10.0.16299.0",
+    "custom_scripts": {
+        "pre_build": [],
+        "build": [
+            "call \"%CONTRIB_SRC_DIR%\\ffmpeg\\build_ffmpeg.bat\"",
+            "cd Build/win32/x64/lib & ren *.a *.lib"
+        ],
+        "post_build": []
+    }
+}
+
diff --git a/WaterMark/ffmpeg/rules.mak b/WaterMark/ffmpeg/rules.mak
new file mode 100644
index 0000000..8972e33
--- /dev/null
+++ b/WaterMark/ffmpeg/rules.mak
@@ -0,0 +1,360 @@
+FFMPEG_HASH := 9f38fac053010205806ece11e6aea9b7d3bde041
+FFMPEG_URL := https://git.ffmpeg.org/gitweb/ffmpeg.git/snapshot/$(FFMPEG_HASH).tar.gz
+
+PKGS+=ffmpeg
+
+ifeq ($(call need_pkg,"libavutil >= 55.75.100 libavcodec >= 57.106.101 libavformat >= 57.82.100 libavdevice >= 57.8.101 libavfilter >= 6.105.100 libswscale >= 4.7.103 libswresample >= 2.9.100"),)
+PKGS_FOUND += ffmpeg
+endif
+
+ifdef HAVE_ANDROID
+DEPS_ffmpeg = iconv zlib vpx opus speex x264 freetype
+else
+DEPS_ffmpeg = iconv zlib vpx opus speex x264
+endif
+
+FFMPEGCONF = \
+	--cc="$(CC)" \
+	--pkg-config="$(PKG_CONFIG)"
+
+#disable everything
+FFMPEGCONF += \
+	--disable-everything \
+	--enable-zlib \
+	--enable-gpl \
+	--enable-swscale \
+	--enable-bsfs \
+	--disable-filters \
+	--disable-programs \
+	--disable-postproc
+
+FFMPEGCONF += \
+	--disable-protocols \
+	--enable-protocol=crypto \
+	--enable-protocol=file \
+	--enable-protocol=rtp \
+	--enable-protocol=srtp \
+	--enable-protocol=tcp \
+	--enable-protocol=udp \
+	--enable-protocol=unix \
+	--enable-protocol=pipe
+
+#enable muxers/demuxers
+FFMPEGCONF += \
+	--disable-demuxers \
+	--disable-muxers \
+	--enable-muxer=rtp \
+	--enable-muxer=g722 \
+	--enable-muxer=h263 \
+	--enable-muxer=h264 \
+	--enable-muxer=hevc \
+	--enable-muxer=webm \
+	--enable-muxer=ogg \
+	--enable-muxer=pcm_s16be \
+	--enable-muxer=pcm_s16le \
+	--enable-demuxer=rtp \
+	--enable-demuxer=mjpeg \
+	--enable-demuxer=mjpeg_2000 \
+	--enable-demuxer=mpegvideo \
+	--enable-demuxer=image_jpeg_pipe \
+	--enable-demuxer=image_png_pipe \
+	--enable-demuxer=image_webp_pipe \
+	--enable-demuxer=matroska \
+	--enable-demuxer=m4v \
+	--enable-demuxer=mp3 \
+	--enable-demuxer=ogg \
+	--enable-demuxer=flac \
+	--enable-demuxer=wav \
+	--enable-demuxer=ac3 \
+	--enable-demuxer=g722 \
+	--enable-demuxer=pcm_mulaw \
+	--enable-demuxer=pcm_alaw \
+	--enable-demuxer=pcm_s16be \
+	--enable-demuxer=pcm_s16le \
+	--enable-demuxer=h263 \
+	--enable-demuxer=h264 \
+	--enable-demuxer=hevc
+
+#enable parsers
+FFMPEGCONF += \
+	--enable-parser=h263 \
+	--enable-parser=h264 \
+	--enable-parser=hevc \
+	--enable-parser=mpeg4video \
+	--enable-parser=vp8 \
+	--enable-parser=vp9 \
+	--enable-parser=opus
+
+#encoders/decoders
+FFMPEGCONF += \
+	--enable-encoder=adpcm_g722 \
+	--enable-decoder=adpcm_g722 \
+	--enable-encoder=rawvideo \
+	--enable-decoder=rawvideo \
+	--enable-encoder=libx264 \
+	--enable-decoder=h264 \
+	--enable-encoder=pcm_alaw \
+	--enable-decoder=pcm_alaw \
+	--enable-encoder=pcm_mulaw \
+	--enable-decoder=pcm_mulaw \
+	--enable-encoder=mpeg4 \
+	--enable-decoder=mpeg4 \
+	--enable-encoder=libvpx_vp8 \
+	--enable-decoder=vp8 \
+	--enable-decoder=vp9 \
+	--enable-encoder=h263 \
+	--enable-encoder=h263p \
+	--enable-decoder=h263 \
+	--enable-encoder=mjpeg \
+	--enable-decoder=mjpeg \
+	--enable-decoder=mjpegb \
+	--enable-libspeex \
+	--enable-libopus \
+	--enable-libvpx \
+	--enable-libx264 \
+	--enable-encoder=libspeex \
+	--enable-decoder=libspeex \
+	--enable-encoder=libopus \
+	--enable-decoder=libopus
+
+# decoders for ringtones and audio streaming
+FFMPEGCONF += \
+	--enable-decoder=flac \
+	--enable-decoder=vorbis \
+	--enable-decoder=aac \
+	--enable-decoder=ac3 \
+	--enable-decoder=eac3 \
+	--enable-decoder=mp3 \
+	--enable-decoder=pcm_u24be \
+	--enable-decoder=pcm_u24le \
+	--enable-decoder=pcm_u32be \
+	--enable-decoder=pcm_u32le \
+	--enable-decoder=pcm_u8 \
+	--enable-decoder=pcm_f16le \
+	--enable-decoder=pcm_f24le \
+	--enable-decoder=pcm_f32be \
+	--enable-decoder=pcm_f32le \
+	--enable-decoder=pcm_f64be \
+	--enable-decoder=pcm_f64le \
+	--enable-decoder=pcm_s16be \
+	--enable-decoder=pcm_s16be_planar \
+	--enable-decoder=pcm_s16le \
+	--enable-decoder=pcm_s16le_planar \
+	--enable-decoder=pcm_s24be \
+	--enable-decoder=pcm_s24le \
+	--enable-decoder=pcm_s24le_planar \
+	--enable-decoder=pcm_s32be \
+	--enable-decoder=pcm_s32le \
+	--enable-decoder=pcm_s32le_planar \
+	--enable-decoder=pcm_s64be \
+	--enable-decoder=pcm_s64le \
+	--enable-decoder=pcm_s8 \
+	--enable-decoder=pcm_s8_planar \
+	--enable-decoder=pcm_u16be \
+	--enable-decoder=pcm_u16le
+
+#encoders/decoders for images
+FFMPEGCONF += \
+	--enable-encoder=jpegls \
+	--enable-decoder=jpegls \
+	--enable-encoder=ljpeg \
+	--enable-decoder=jpeg2000 \
+	--enable-encoder=png \
+	--enable-decoder=png
+
+#filters
+FFMPEGCONF += \
+	--enable-filter=scale \
+	--enable-filter=overlay \
+	--enable-filter=format \
+	--enable-filter=fps \
+	--enable-filter=transpose \
+	--enable-filter=pad \
+	--enable-filter=split \
+	--enable-filter=drawbox \
+	--enable-filter=drawtext \
+	--enable-libfreetype \
+	--enable-filter=rotate
+
+
+#platform specific options
+
+ifdef HAVE_WIN32
+FFMPEGCONF += \
+	--enable-indev=dshow \
+	--enable-indev=gdigrab \
+	--enable-dxva2
+endif
+
+ifdef HAVE_LINUX
+FFMPEGCONF += --enable-pic
+ifdef HAVE_ANDROID
+# Android Linux
+FFMPEGCONF += \
+	--target-os=android \
+	--enable-jni \
+	--enable-mediacodec \
+	--enable-decoder=vp8_mediacodec \
+	--enable-decoder=h264_mediacodec \
+	--enable-decoder=mpeg4_mediacodec \
+	--enable-decoder=hevc_mediacodec \
+	--enable-cross-compile \
+	--ranlib=$(RANLIB) \
+	--strip=$(STRIP) \
+	--cc=$(CC) \
+	--cxx=$(CXX) \
+	--ld=$(CC) \
+	--ar=$(AR)
+# ASM not working on Android x86 https://trac.ffmpeg.org/ticket/4928
+ifeq ($(ARCH),i386)
+FFMPEGCONF += --disable-asm
+endif
+ifeq ($(ARCH),x86_64)
+FFMPEGCONF += --disable-asm
+endif
+else
+# Desktop Linux
+DEPS_ffmpeg += ffnvcodec
+FFMPEGCONF += \
+	--target-os=linux \
+	--enable-indev=v4l2 \
+	--enable-indev=xcbgrab \
+	--enable-vdpau \
+	--enable-hwaccel=h264_vdpau \
+	--enable-hwaccel=mpeg4_vdpau \
+	--enable-vaapi \
+	--enable-hwaccel=h264_vaapi \
+	--enable-hwaccel=mpeg4_vaapi \
+	--enable-hwaccel=h263_vaapi \
+	--enable-hwaccel=vp8_vaapi \
+	--enable-hwaccel=mjpeg_vaapi \
+	--enable-hwaccel=hevc_vaapi \
+	--enable-encoder=h264_vaapi \
+	--enable-encoder=vp8_vaapi \
+	--enable-encoder=mjpeg_vaapi \
+	--enable-encoder=hevc_vaapi
+# ffnvcodec is not supported on ARM then we enable it here for i386 and x86_64
+ifeq ($(ARCH),$(filter $(ARCH),i386 x86_64))
+FFMPEGCONF += --enable-cuvid \
+	      --enable-ffnvcodec \
+	      --enable-nvdec \
+	      --enable-nvenc \
+	      --enable-hwaccel=h264_nvdec \
+	      --enable-hwaccel=hevc_nvdec \
+	      --enable-hwaccel=vp8_nvdec \
+	      --enable-hwaccel=mjpeg_nvdec \
+	      --enable-encoder=h264_nvenc \
+	      --enable-encoder=hevc_nvenc
+endif
+# End Desktop Linux:
+endif
+# End HAVE_LINUX:
+endif
+
+ifdef HAVE_MACOSX
+FFMPEGCONF += \
+	--enable-avfoundation \
+	--enable-indev=avfoundation \
+	--enable-videotoolbox \
+	--enable-hwaccel=h263_videotoolbox \
+	--enable-hwaccel=h264_videotoolbox \
+	--enable-hwaccel=mpeg4_videotoolbox \
+	--enable-hwaccel=hevc_videotoolbox \
+	--enable-encoder=h264_videotoolbox \
+	--enable-encoder=hevc_videotoolbox \
+	--disable-securetransport
+endif
+
+ifdef HAVE_IOS
+FFMPEGCONF += \
+	--enable-videotoolbox \
+	--enable-hwaccel=h263_videotoolbox \
+	--enable-hwaccel=h264_videotoolbox \
+	--enable-hwaccel=mpeg4_videotoolbox \
+	--enable-hwaccel=hevc_videotoolbox \
+	--enable-encoder=h264_videotoolbox \
+	--enable-encoder=hevc_videotoolbox \
+	--target-os=darwin \
+	--enable-cross-compile \
+	--enable-pic
+endif
+
+ifndef HAVE_IOS
+ifndef HAVE_ANDROID
+ifdef HAVE_CROSS_COMPILE
+FFMPEGCONF += --cross-prefix=$(HOST)-
+endif
+endif
+endif
+
+# x86 stuff
+ifeq ($(ARCH),i386)
+FFMPEGCONF += --arch=x86
+endif
+
+ifeq ($(ARCH),x86_64)
+FFMPEGCONF += --arch=x86_64
+endif
+
+# ARM stuff
+ifeq ($(ARCH),arm)
+FFMPEGCONF += --arch=arm
+ifdef HAVE_ARMV7A
+FFMPEGCONF += --cpu=cortex-a8
+endif
+ifdef HAVE_ARMV6
+FFMPEGCONF += --cpu=armv6 --disable-neon
+endif
+endif
+
+# ARM64 stuff
+ifeq ($(ARCH),aarch64)
+FFMPEGCONF += --arch=aarch64
+endif
+ifeq ($(ARCH),arm64)
+FFMPEGCONF += --arch=aarch64
+endif
+
+# Windows
+ifdef HAVE_WIN32
+DEPS_ffmpeg += ffnvcodec
+FFMPEGCONF += --target-os=mingw32 \
+    --enable-w32threads \
+    --disable-decoder=dca \
+	--enable-cuvid \
+	--enable-ffnvcodec \
+	--enable-nvdec \
+	--enable-nvenc \
+	--enable-hwaccel=h264_nvdec \
+	--enable-hwaccel=hevc_nvdec \
+	--enable-hwaccel=vp8_nvdec \
+	--enable-hwaccel=mjpeg_nvdec \
+	--enable-encoder=h264_nvenc \
+	--enable-encoder=hevc_nvenc
+endif
+
+$(TARBALLS)/ffmpeg-$(FFMPEG_HASH).tar.gz:
+	$(call download,$(FFMPEG_URL))
+
+.sum-ffmpeg: ffmpeg-$(FFMPEG_HASH).tar.gz
+
+ffmpeg: ffmpeg-$(FFMPEG_HASH).tar.gz
+	rm -Rf $@ $@-$(FFMPEG_HASH)
+	mkdir -p $@-$(FFMPEG_HASH)
+	(cd $@-$(FFMPEG_HASH) && tar x $(if ${BATCH_MODE},,-v) --strip-components=1 -f $<)
+	$(APPLY) $(SRC)/ffmpeg/remove-mjpeg-log.patch
+	$(APPLY) $(SRC)/ffmpeg/change-RTCP-ratio.patch
+	$(APPLY) $(SRC)/ffmpeg/rtp_ext_abs_send_time.patch
+	$(APPLY) $(SRC)/ffmpeg/libopusdec-enable-FEC.patch
+	$(APPLY) $(SRC)/ffmpeg/libopusenc-enable-FEC.patch
+	$(UPDATE_AUTOCONFIG)
+	$(MOVE)
+
+.ffmpeg: ffmpeg .sum-ffmpeg
+	cd $< && $(HOSTVARS) ./configure \
+		--extra-cflags="$(CFLAGS)" \
+		--extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \
+		--prefix="$(PREFIX)" --enable-static --disable-shared \
+		--pkg-config-flags="--static"
+	cd $< && $(MAKE) install-libs install-headers
+	touch $@
diff --git a/WaterMark/ffmpeg/windows-configure-make.sh b/WaterMark/ffmpeg/windows-configure-make.sh
new file mode 100644
index 0000000..ac78ae8
--- /dev/null
+++ b/WaterMark/ffmpeg/windows-configure-make.sh
@@ -0,0 +1,199 @@
+#!/bin/bash
+set +x
+set +e
+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+cd $DIR/../../build/ffmpeg
+FFMPEGCONF='
+            --toolchain=msvc
+            --target-os=win32'
+
+#disable everything
+FFMPEGCONF+='
+            --disable-everything
+            --disable-programs
+            --disable-d3d11va
+            --disable-dxva2
+            --disable-postproc
+            --disable-filters
+            --enable-zlib'
+
+FFMPEGCONF+='
+            --enable-cross-compile
+            --enable-gpl
+            --enable-swscale
+            --enable-protocols
+            --enable-bsfs'
+
+#enable muxers/demuxers
+FFMPEGCONF+='
+            --enable-demuxers
+            --enable-muxers'
+
+#enable parsers
+FFMPEGCONF+='
+            --enable-parser=h263
+            --enable-parser=h264
+            --enable-parser=hevc
+            --enable-parser=mpeg4video
+            --enable-parser=vp8
+            --enable-parser=vp9
+            --enable-parser=opus'
+
+#encoders/decoders
+FFMPEGCONF+='
+            --enable-libopus
+            --enable-encoder=libopus
+            --enable-decoder=libopus
+            --enable-encoder=adpcm_g722
+            --enable-decoder=adpcm_g722
+            --enable-encoder=pcm_alaw
+            --enable-decoder=pcm_alaw
+            --enable-encoder=pcm_mulaw
+            --enable-decoder=pcm_mulaw
+            --enable-libx264
+            --enable-encoder=libx264
+            --enable-decoder=h264
+            --enable-encoder=rawvideo
+            --enable-decoder=rawvideo
+            --enable-encoder=mpeg4
+            --enable-decoder=mpeg4
+            --enable-encoder=h263
+            --enable-encoder=h263p
+            --enable-decoder=h263
+            --enable-encoder=mjpeg
+            --enable-decoder=mjpeg
+            --enable-decoder=mjpegb'
+
+# decoders for ringtones and audio streaming
+FFMPEGCONF+='
+            --enable-decoder=flac
+            --enable-decoder=vorbis
+            --enable-decoder=aac
+            --enable-decoder=ac3
+            --enable-decoder=eac3
+            --enable-decoder=mp3
+            --enable-decoder=pcm_u24be
+            --enable-decoder=pcm_u24le
+            --enable-decoder=pcm_u32be
+            --enable-decoder=pcm_u32le
+            --enable-decoder=pcm_u8
+            --enable-decoder=pcm_f16le
+            --enable-decoder=pcm_f24le
+            --enable-decoder=pcm_f32be
+            --enable-decoder=pcm_f32le
+            --enable-decoder=pcm_f64be
+            --enable-decoder=pcm_f64le
+            --enable-decoder=pcm_s16be
+            --enable-decoder=pcm_s16be_planar
+            --enable-decoder=pcm_s16le
+            --enable-decoder=pcm_s16le_planar
+            --enable-decoder=pcm_s24be
+            --enable-decoder=pcm_s24le
+            --enable-decoder=pcm_s24le_planar
+            --enable-decoder=pcm_s32be
+            --enable-decoder=pcm_s32le
+            --enable-decoder=pcm_s32le_planar
+            --enable-decoder=pcm_s64be
+            --enable-decoder=pcm_s64le
+            --enable-decoder=pcm_s8
+            --enable-decoder=pcm_s8_planar
+            --enable-decoder=pcm_u16be
+            --enable-decoder=pcm_u16le'
+
+#encoders/decoders for images
+FFMPEGCONF+='
+            --enable-encoder=jpegls
+            --enable-decoder=jpegls
+            --enable-encoder=ljpeg
+            --enable-decoder=jpeg2000
+            --enable-encoder=png
+            --enable-decoder=png'
+
+#filters
+FFMPEGCONF+='
+            --enable-filter=scale
+            --enable-filter=overlay
+            --enable-filter=format
+            --enable-filter=fps
+            --enable-filter=transpose
+            --enable-filter=pad
+            --enable-filter=drawbox
+            --enable-filter=split
+            --enable-filter=drawtext
+            --enable-libfreetype
+            --enable-filter=rotate'
+
+if [ "$1" == "uwp" ]; then
+    EXTRACFLAGS='-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00 -I../../../../../msvc/include -I../../../../../msvc/include/opus -I../../../../../msvc/include/freetype'
+    if [ "$2" == "x64" ]; then
+        echo "configure and make ffmpeg for UWP-x64..."
+            EXTRALDFLAGS='-APPCONTAINER WindowsApp.lib libopus.lib libx264.lib freetype.lib libzlib.lib -LIBPATH:../../../../../msvc/lib/x64'
+            FFMPEGCONF+=' --arch=x86_64'
+            PREFIX=../../../Build/Windows10/x64
+            OUTDIR=Output/Windows10/x64
+    elif [ "$2" == "x86" ]; then
+        echo "configure and make ffmpeg for UWP-x86..."
+            EXTRALDFLAGS='-APPCONTAINER WindowsApp.lib libopus.lib libx264.lib freetype.lib libzlib.lib -LIBPATH:../../../../../msvc/lib/x86'
+            FFMPEGCONF+=' --arch=x86'
+            PREFIX=../../../Build/Windows10/x86
+            OUTDIR=Output/Windows10/x86
+    fi
+elif [ "$1" == "win32" ]; then
+    EXTRACFLAGS='-MD -D_WINDLL -I../../../../../msvc/include -I../../../../../msvc/include/opus -I../../../../../msvc/include/vpx -I../../../../../msvc/include/ffnvcodec -I../../../../../msvc/include/mfx -I../../../../../msvc/include/freetype' 
+    FFMPEGCONF+='
+                --enable-libvpx
+                --enable-encoder=libvpx_vp8
+                --enable-decoder=vp8
+                --enable-decoder=vp9'
+    FFMPEGCONF+='
+                --enable-indev=dshow
+                --enable-indev=gdigrab
+                --enable-dxva2'
+    FFMPEGCONF+='
+                --enable-ffnvcodec
+                --enable-cuvid
+                --enable-nvdec
+                --enable-nvenc
+                --enable-hwaccel=h264_nvdec
+                --enable-hwaccel=hevc_nvdec
+                --enable-hwaccel=vp8_nvdec
+                --enable-hwaccel=mjpeg_nvdec
+                --enable-encoder=h264_nvenc
+                --enable-encoder=hevc_nvenc'
+    FFMPEGCONF+='
+                --enable-libmfx
+                --enable-encoder=h264_qsv
+                --enable-encoder=hevc_qsv
+                --enable-encoder=mjpeg_qsv
+                --enable-decoder=vp8_qsv
+                --enable-decoder=h264_qsv
+                --enable-decoder=hevc_qsv
+                --enable-decoder=mjpeg_qsv
+                --enable-decoder=vp9_qsv
+                --enable-filter=scale_qsv
+                --enable-filter=overlay_qsv'
+    if [ "$2" == "x64" ]; then
+        echo "configure and make ffmpeg for win32-x64..."
+        EXTRALDFLAGS='-APPCONTAINER:NO -MACHINE:x64 Ole32.lib Kernel32.lib Gdi32.lib User32.lib Strmiids.lib Advapi32.lib OleAut32.lib Shlwapi.lib Vfw32.lib Secur32.lib Advapi32.lib libopus.lib libx264.lib libvpx.lib libmfx.lib freetype.lib libzlib.lib -LIBPATH:../../../../../msvc/lib/x64'
+        FFMPEGCONF+=' --arch=x86_64'
+        PREFIX=../../../Build/win32/x64
+        OUTDIR=Output/win32/x64
+    elif [ "$2" == "x86" ]; then
+        echo "configure and make ffmpeg for win32-x86..."
+        EXTRALDFLAGS='-APPCONTAINER:NO -MACHINE:x86 Ole32.lib Kernel32.lib Gdi32.lib User32.lib Strmiids.lib OleAut32.lib Shlwapi.lib Vfw32.lib Secur32.lib Advapi32.lib libopus.lib libx264.lib libvpx.lib libmfx.lib freetype.lib libzlib.lib -LIBPATH:../../../../../msvc/lib/x86'
+        FFMPEGCONF+=' --arch=x86'
+        PREFIX=../../../Build/win32/x86
+        OUTDIR=Output/win32/x86
+    fi
+fi
+rm -rf $OUTDIR
+mkdir -p $OUTDIR
+cd $OUTDIR
+pwd
+FFMPEGCONF=$(echo $FFMPEGCONF | sed -e "s/[[:space:]]\+/ /g")
+set -x
+set -e
+../../../configure $FFMPEGCONF --extra-cflags="${EXTRACFLAGS}" --extra-ldflags="${EXTRALDFLAGS}" --prefix="${PREFIX}"
+make -j8 install
+cd ../../..
+
diff --git a/WaterMark/main.cpp b/WaterMark/main.cpp
new file mode 100644
index 0000000..7971c3e
--- /dev/null
+++ b/WaterMark/main.cpp
@@ -0,0 +1,72 @@
+/**
+ *  Copyright (C) 2021 Savoir-faire Linux Inc.
+ *
+ *  Author: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
+ *
+ *  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 3 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ */
+
+#include <iostream>
+#include <string.h>
+#include <thread>
+#include <memory>
+#include <plugin/jamiplugin.h>
+
+#include "WatermarkMediaHandler.h"
+
+#ifdef WIN32
+#define EXPORT_PLUGIN __declspec(dllexport)
+#else
+#define EXPORT_PLUGIN
+#endif
+
+#define WaterMark_VERSION_MAJOR 1
+#define WaterMark_VERSION_MINOR 0
+#define WaterMark_VERSION_PATCH 0
+
+extern "C" {
+
+void
+pluginExit(void)
+{}
+
+EXPORT_PLUGIN JAMI_PluginExitFunc
+JAMI_dynPluginInit(const JAMI_PluginAPI* api)
+{
+    std::cout << "*****************" << std::endl;
+    std::cout << "**  WaterMark  **" << std::endl;
+    std::cout << "*****************" << std::endl << std::endl;
+    std::cout << "Version " << WaterMark_VERSION_MAJOR << "." << WaterMark_VERSION_MINOR << "."
+              << WaterMark_VERSION_PATCH << std::endl;
+
+    // If invokeService doesn't return an error
+    if (api) {
+        std::map<std::string, std::string> preferences;
+        api->invokeService(api, "getPluginPreferences", &preferences);
+        std::string dataPath;
+        api->invokeService(api, "getPluginDataPath", &dataPath);
+
+        auto fmpWatermarkMediaHandler
+            = std::make_unique<jami::WatermarkMediaHandler>(std::move(preferences),
+                                                            std::move(dataPath));
+        if (api->manageComponent(api,
+                                 "CallMediaHandlerManager",
+                                 fmpWatermarkMediaHandler.release())) {
+            return nullptr;
+        }
+    }
+    return pluginExit;
+}
+}
diff --git a/WaterMark/manifest.json b/WaterMark/manifest.json
new file mode 100644
index 0000000..a512d1b
--- /dev/null
+++ b/WaterMark/manifest.json
@@ -0,0 +1,5 @@
+{
+    "name": "WaterMark",
+    "description": "With this plugin you'll be able to add a water mark to a call video. This water mark is basically an image but can also contain location, day and time.",
+    "version": "1.0.0"
+}
\ No newline at end of file
diff --git a/WaterMark/package.json b/WaterMark/package.json
new file mode 100644
index 0000000..3d8de78
--- /dev/null
+++ b/WaterMark/package.json
@@ -0,0 +1,18 @@
+{
+    "name": "WaterMark",
+    "version": "1.0.0",
+    "extractLibs": false,
+    "deps": [
+        "ffmpeg"
+    ],
+    "defines": [],
+    "custom_scripts": {
+        "pre_build": [
+            "mkdir msvc"
+        ],
+        "build": [
+            "cmake --build ./msvc --config Release"
+        ],
+        "post_build": []
+    }
+}
\ No newline at end of file
diff --git a/WaterMark/zlib/libzlib.vcxproj b/WaterMark/zlib/libzlib.vcxproj
new file mode 100644
index 0000000..81f9634
--- /dev/null
+++ b/WaterMark/zlib/libzlib.vcxproj
@@ -0,0 +1,918 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="DebugDLL|Win32">
+      <Configuration>DebugDLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="DebugDLL|x64">
+      <Configuration>DebugDLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseDLL|Win32">
+      <Configuration>ReleaseDLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseDLL|x64">
+      <Configuration>ReleaseDLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseLTO|Win32">
+      <Configuration>ReleaseLTO</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="ReleaseLTO|x64">
+      <Configuration>ReleaseLTO</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}</ProjectGuid>
+    <RootNamespace>libzlib</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings" />
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </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" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>libzlibd</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>libzlib</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>libzlib</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>zlib</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>zlibd</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>libzlibd</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>libzlib</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>libzlib</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>zlib</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
+    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
+    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
+    <TargetName>zlibd</TargetName>
+    <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0502;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ProgramDataBaseFileName>$(OutDir)\lib\x86\$(TargetName).pdb</ProgramDataBaseFileName>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+    <Lib>
+      <OutputFile>$(OutDir)\lib\x86\$(TargetName)$(TargetExt)</OutputFile>
+    </Lib>
+    <Lib>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Lib>
+    <Lib>
+      <SubSystem>Windows</SubSystem>
+    </Lib>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN64;_WIN32_WINNT=0x0600;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ProgramDataBaseFileName>$(OutDir)\lib\x64\$(TargetName).pdb</ProgramDataBaseFileName>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+    <Lib>
+      <SubSystem>Windows</SubSystem>
+      <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
+    </Lib>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0502;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <ImportLibrary>$(OutDir)\lib\x86\$(TargetName).lib</ImportLibrary>
+      <SubSystem>Windows</SubSystem>
+      <ProfileGuidedDatabase>$(IntDir)\$(TargetName).pgd</ProfileGuidedDatabase>
+      <ProgramDatabaseFile>$(OutDir)\lib\x86\$(TargetName).pdb</ProgramDatabaseFile>
+      <OutputFile>$(OutDir)\bin\x86\$(TargetName)$(TargetExt)</OutputFile>
+      <ModuleDefinitionFile>..\contrib\vstudio\vc11\zlibvc.def</ModuleDefinitionFile>
+      <LargeAddressAware>true</LargeAddressAware>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <MinimumRequiredVersion>5.1</MinimumRequiredVersion>
+    </Link>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN64;_WIN32_WINNT=0x0600;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <MinimalRebuild>false</MinimalRebuild>
+    </ClCompile>
+    <Link>
+      <OutputFile>$(OutDir)\bin\x64\$(TargetName)$(TargetExt)</OutputFile>
+      <ProgramDatabaseFile>$(OutDir)\lib\x64\$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <ProfileGuidedDatabase>$(IntDir)\$(TargetName).pgd</ProfileGuidedDatabase>
+      <ImportLibrary>$(OutDir)\lib\x64\$(TargetName).lib</ImportLibrary>
+      <ModuleDefinitionFile>..\contrib\vstudio\vc11\zlibvc.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <MinimumRequiredVersion>6.0</MinimumRequiredVersion>
+    </Link>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0502;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <StringPooling>true</StringPooling>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <InterproceduralOptimization>SingleFile</InterproceduralOptimization>
+      <ProgramDataBaseFileName>$(OutDir)\lib\x86\$(TargetName).pdb</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <Lib>
+      <OutputFile>$(OutDir)\lib\x86\$(TargetName)$(TargetExt)</OutputFile>
+    </Lib>
+    <Lib>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Lib>
+    <Lib>
+      <SubSystem>Windows</SubSystem>
+    </Lib>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0502;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <StringPooling>true</StringPooling>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <InterproceduralOptimization>SingleFile</InterproceduralOptimization>
+      <ProgramDataBaseFileName>$(OutDir)\lib\x86\$(TargetName).pdb</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <Lib>
+      <OutputFile>$(OutDir)\lib\x86\$(TargetName)$(TargetExt)</OutputFile>
+    </Lib>
+    <Lib>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Lib>
+    <Lib>
+      <SubSystem>Windows</SubSystem>
+    </Lib>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN64;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <StringPooling>true</StringPooling>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <InterproceduralOptimization>SingleFile</InterproceduralOptimization>
+      <ProgramDataBaseFileName>$(OutDir)\lib\x64\$(TargetName).pdb</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <Lib>
+      <SubSystem>Windows</SubSystem>
+      <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
+    </Lib>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN64;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <StringPooling>true</StringPooling>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <InterproceduralOptimization>SingleFile</InterproceduralOptimization>
+      <ProgramDataBaseFileName>$(OutDir)\lib\x64\$(TargetName).pdb</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <Lib>
+      <SubSystem>Windows</SubSystem>
+      <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
+    </Lib>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0502;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <StringPooling>true</StringPooling>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ImportLibrary>$(OutDir)\lib\x86\$(TargetName).lib</ImportLibrary>
+      <SubSystem>Windows</SubSystem>
+      <ProfileGuidedDatabase>$(IntDir)\$(TargetName).pgd</ProfileGuidedDatabase>
+      <ProgramDatabaseFile>$(OutDir)\lib\x86\$(TargetName).pdb</ProgramDatabaseFile>
+      <OutputFile>$(OutDir)\bin\x86\$(TargetName)$(TargetExt)</OutputFile>
+      <ModuleDefinitionFile>..\contrib\vstudio\vc11\zlibvc.def</ModuleDefinitionFile>
+      <LargeAddressAware>true</LargeAddressAware>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <MinimumRequiredVersion>5.1</MinimumRequiredVersion>
+    </Link>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN64;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <StringPooling>true</StringPooling>
+      <AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
+    </ClCompile>
+    <Link>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <OutputFile>$(OutDir)\bin\x64\$(TargetName)$(TargetExt)</OutputFile>
+      <ProgramDatabaseFile>$(OutDir)\lib\x64\$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <ProfileGuidedDatabase>$(IntDir)\$(TargetName).pgd</ProfileGuidedDatabase>
+      <ImportLibrary>$(OutDir)\lib\x64\$(TargetName).lib</ImportLibrary>
+      <ModuleDefinitionFile>..\contrib\vstudio\vc11\zlibvc.def</ModuleDefinitionFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <MinimumRequiredVersion>6.0</MinimumRequiredVersion>
+    </Link>
+    <MASM>
+      <UseSafeExceptionHandlers>true</UseSafeExceptionHandlers>
+    </MASM>
+    <PostBuildEvent>
+      <Command>mkdir "$(OutDir)"\include
+copy ..\zlib.h "$(OutDir)"\include
+copy "$(OutDir)"\..\src\zlib\zconf.h "$(OutDir)"\include /Y
+copy "$(OutDir)"\lib\$(Platform)\libzlib.lib "$(OutDir)"\lib\$(Platform)\zlib.lib /Y
+mkdir $(OutDir)\licenses
+copy ..\README $(OutDir)\licenses\zlib.txt</Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>if exist ..\zconf.h (
+del ..\zconf.h
+)
+if exist "$(OutDir)"\include\zlib.h (
+del "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del "$(OutDir)"\include\zconf.h
+)</Command>
+    </PreBuildEvent>
+    <CustomBuildStep>
+      <Message>Custom Clean Step</Message>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>force_clean</Outputs>
+      <Command>if exist "$(OutDir)"\include\zlib.h (
+del /f /q "$(OutDir)"\include\zlib.h
+)
+if exist "$(OutDir)"\include\zconf.h (
+del /f /q "$(OutDir)"\include\zconf.h
+)
+if exist $(OutDir)\licenses\zlib.txt (
+del /f /q $(OutDir)\licenses\zlib.txt
+)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\adler32.c" />
+    <ClCompile Include="..\compress.c" />
+    <ClCompile Include="..\crc32.c" />
+    <ClCompile Include="..\deflate.c" />
+    <ClCompile Include="..\gzclose.c" />
+    <ClCompile Include="..\gzlib.c" />
+    <ClCompile Include="..\gzread.c" />
+    <ClCompile Include="..\gzwrite.c" />
+    <ClCompile Include="..\infback.c" />
+    <ClCompile Include="..\inffast.c" />
+    <ClCompile Include="..\inflate.c" />
+    <ClCompile Include="..\inftrees.c" />
+    <ClCompile Include="..\trees.c" />
+    <ClCompile Include="..\uncompr.c" />
+    <ClCompile Include="..\zutil.c" />
+    <ClCompile Include="..\contrib\minizip\ioapi.c" />
+    <ClCompile Include="..\contrib\minizip\iowin32.c">
+      <ExcludedFromBuild Condition="'$(Configuration)'=='Debug'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)'=='Release'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)'=='ReleaseLTO'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="..\contrib\minizip\unzip.c" />
+    <ClCompile Include="..\contrib\minizip\zip.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\crc32.h" />
+    <ClInclude Include="..\deflate.h" />
+    <ClInclude Include="..\inffast.h" />
+    <ClInclude Include="..\inffixed.h" />
+    <ClInclude Include="..\inflate.h" />
+    <ClInclude Include="..\inftrees.h" />
+    <ClInclude Include="..\trees.h" />
+    <ClInclude Include="..\zlib.h" />
+    <ClInclude Include="..\zutil.h" />
+    <ClInclude Include="..\contrib\minizip\ioapi.h" />
+    <ClInclude Include="..\contrib\minizip\unzip.h" />
+    <ClInclude Include="..\contrib\minizip\zip.h" />
+    <ClInclude Include="zconf.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\contrib\vstudio\vc11\zlib.rc">
+      <ExcludedFromBuild Condition="'$(Configuration)'=='Debug'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)'=='Release'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)'=='ReleaseLTO'">true</ExcludedFromBuild>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\contrib\vstudio\vc11\zlibvc.def" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets" />
+</Project>
diff --git a/WaterMark/zlib/package.json b/WaterMark/zlib/package.json
new file mode 100644
index 0000000..fdfec5e
--- /dev/null
+++ b/WaterMark/zlib/package.json
@@ -0,0 +1,17 @@
+{
+    "name": "zlib",
+    "version": "8e4e3ead55cdd296130242d86b44b92fde3ea4d4",
+    "url": "https://github.com/ShiftMediaProject/zlib/archive/__VERSION__.tar.gz",
+    "deps": [],
+    "patches": [],
+    "win_patches": [],
+    "project_paths": [
+        "SMP/libzlib.vcxproj"
+    ],
+    "with_env" : "",
+    "custom_scripts": {
+        "pre_build": ["copy %cd%\\\\..\\\\..\\\\src\\\\zlib\\\\libzlib.vcxproj %cd%\\\\SMP\\\\libzlib.vcxproj /Y"],
+        "build": [],
+        "post_build": []
+    }
+}
diff --git a/WaterMark/zlib/zconf.h b/WaterMark/zlib/zconf.h
new file mode 100644
index 0000000..df47fef
--- /dev/null
+++ b/WaterMark/zlib/zconf.h
@@ -0,0 +1,519 @@
+/* zconf.h -- configuration of the zlib compression library
+ * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#ifndef ZCONF_H
+#define ZCONF_H
+
+/*
+ * If you *really* need a unique prefix for all types and library functions,
+ * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
+ * Even better than compiling with -DZ_PREFIX would be to use configure to set
+ * this permanently in zconf.h using "./configure --zprefix".
+ */
+#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
+#define Z_PREFIX_SET
+
+/* all linked symbols and init macros */
+#define _dist_code        z__dist_code
+#define _length_code      z__length_code
+#define _tr_align         z__tr_align
+#define _tr_flush_bits    z__tr_flush_bits
+#define _tr_flush_block   z__tr_flush_block
+#define _tr_init          z__tr_init
+#define _tr_stored_block  z__tr_stored_block
+#define _tr_tally         z__tr_tally
+#define adler32           z_adler32
+#define adler32_combine   z_adler32_combine
+#define adler32_combine64 z_adler32_combine64
+#define adler32_z         z_adler32_z
+#ifndef Z_SOLO
+#define compress      z_compress
+#define compress2     z_compress2
+#define compressBound z_compressBound
+#endif
+#define crc32                z_crc32
+#define crc32_combine        z_crc32_combine
+#define crc32_combine64      z_crc32_combine64
+#define crc32_z              z_crc32_z
+#define deflate              z_deflate
+#define deflateBound         z_deflateBound
+#define deflateCopy          z_deflateCopy
+#define deflateEnd           z_deflateEnd
+#define deflateGetDictionary z_deflateGetDictionary
+#define deflateInit          z_deflateInit
+#define deflateInit2         z_deflateInit2
+#define deflateInit2_        z_deflateInit2_
+#define deflateInit_         z_deflateInit_
+#define deflateParams        z_deflateParams
+#define deflatePending       z_deflatePending
+#define deflatePrime         z_deflatePrime
+#define deflateReset         z_deflateReset
+#define deflateResetKeep     z_deflateResetKeep
+#define deflateSetDictionary z_deflateSetDictionary
+#define deflateSetHeader     z_deflateSetHeader
+#define deflateTune          z_deflateTune
+#define deflate_copyright    z_deflate_copyright
+#define get_crc_table        z_get_crc_table
+#ifndef Z_SOLO
+#define gz_error       z_gz_error
+#define gz_intmax      z_gz_intmax
+#define gz_strwinerror z_gz_strwinerror
+#define gzbuffer       z_gzbuffer
+#define gzclearerr     z_gzclearerr
+#define gzclose        z_gzclose
+#define gzclose_r      z_gzclose_r
+#define gzclose_w      z_gzclose_w
+#define gzdirect       z_gzdirect
+#define gzdopen        z_gzdopen
+#define gzeof          z_gzeof
+#define gzerror        z_gzerror
+#define gzflush        z_gzflush
+#define gzfread        z_gzfread
+#define gzfwrite       z_gzfwrite
+#define gzgetc         z_gzgetc
+#define gzgetc_        z_gzgetc_
+#define gzgets         z_gzgets
+#define gzoffset       z_gzoffset
+#define gzoffset64     z_gzoffset64
+#define gzopen         z_gzopen
+#define gzopen64       z_gzopen64
+#ifdef _WIN32
+#define gzopen_w z_gzopen_w
+#endif
+#define gzprintf    z_gzprintf
+#define gzputc      z_gzputc
+#define gzputs      z_gzputs
+#define gzread      z_gzread
+#define gzrewind    z_gzrewind
+#define gzseek      z_gzseek
+#define gzseek64    z_gzseek64
+#define gzsetparams z_gzsetparams
+#define gztell      z_gztell
+#define gztell64    z_gztell64
+#define gzungetc    z_gzungetc
+#define gzvprintf   z_gzvprintf
+#define gzwrite     z_gzwrite
+#endif
+#define inflate              z_inflate
+#define inflateBack          z_inflateBack
+#define inflateBackEnd       z_inflateBackEnd
+#define inflateBackInit      z_inflateBackInit
+#define inflateBackInit_     z_inflateBackInit_
+#define inflateCodesUsed     z_inflateCodesUsed
+#define inflateCopy          z_inflateCopy
+#define inflateEnd           z_inflateEnd
+#define inflateGetDictionary z_inflateGetDictionary
+#define inflateGetHeader     z_inflateGetHeader
+#define inflateInit          z_inflateInit
+#define inflateInit2         z_inflateInit2
+#define inflateInit2_        z_inflateInit2_
+#define inflateInit_         z_inflateInit_
+#define inflateMark          z_inflateMark
+#define inflatePrime         z_inflatePrime
+#define inflateReset         z_inflateReset
+#define inflateReset2        z_inflateReset2
+#define inflateResetKeep     z_inflateResetKeep
+#define inflateSetDictionary z_inflateSetDictionary
+#define inflateSync          z_inflateSync
+#define inflateSyncPoint     z_inflateSyncPoint
+#define inflateUndermine     z_inflateUndermine
+#define inflateValidate      z_inflateValidate
+#define inflate_copyright    z_inflate_copyright
+#define inflate_fast         z_inflate_fast
+#define inflate_table        z_inflate_table
+#ifndef Z_SOLO
+#define uncompress  z_uncompress
+#define uncompress2 z_uncompress2
+#endif
+#define zError z_zError
+#ifndef Z_SOLO
+#define zcalloc z_zcalloc
+#define zcfree  z_zcfree
+#endif
+#define zlibCompileFlags z_zlibCompileFlags
+#define zlibVersion      z_zlibVersion
+
+/* all zlib typedefs in zlib.h and zconf.h */
+#define Byte       z_Byte
+#define Bytef      z_Bytef
+#define alloc_func z_alloc_func
+#define charf      z_charf
+#define free_func  z_free_func
+#ifndef Z_SOLO
+#define gzFile z_gzFile
+#endif
+#define gz_header  z_gz_header
+#define gz_headerp z_gz_headerp
+#define in_func    z_in_func
+#define intf       z_intf
+#define out_func   z_out_func
+#define uInt       z_uInt
+#define uIntf      z_uIntf
+#define uLong      z_uLong
+#define uLongf     z_uLongf
+#define voidp      z_voidp
+#define voidpc     z_voidpc
+#define voidpf     z_voidpf
+
+/* all zlib structs in zlib.h and zconf.h */
+#define gz_header_s    z_gz_header_s
+#define internal_state z_internal_state
+
+#endif
+
+#if defined(__MSDOS__) && !defined(MSDOS)
+#define MSDOS
+#endif
+#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
+#define OS2
+#endif
+#if defined(_WINDOWS) && !defined(WINDOWS)
+#define WINDOWS
+#endif
+#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
+#ifndef WIN32
+#define WIN32
+#endif
+#endif
+#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
+#if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
+#ifndef SYS16BIT
+#define SYS16BIT
+#endif
+#endif
+#endif
+
+/*
+ * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
+ * than 64k bytes at a time (needed on systems with 16-bit int).
+ */
+#ifdef SYS16BIT
+#define MAXSEG_64K
+#endif
+#ifdef MSDOS
+#define UNALIGNED_OK
+#endif
+
+#ifdef __STDC_VERSION__
+#ifndef STDC
+#define STDC
+#endif
+#if __STDC_VERSION__ >= 199901L
+#ifndef STDC99
+#define STDC99
+#endif
+#endif
+#endif
+#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
+#define STDC
+#endif
+#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
+#define STDC
+#endif
+#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
+#define STDC
+#endif
+#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
+#define STDC
+#endif
+
+#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
+#define STDC
+#endif
+
+#ifndef STDC
+#ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
+#define const /* note: need a more gentle solution here */
+#endif
+#endif
+
+#if defined(ZLIB_CONST) && !defined(z_const)
+#define z_const const
+#else
+#define z_const
+#endif
+
+#ifdef Z_SOLO
+typedef unsigned long z_size_t;
+#else
+#define z_longlong long long
+#if defined(NO_SIZE_T)
+typedef unsigned NO_SIZE_T z_size_t;
+#elif defined(STDC)
+#include <stddef.h>
+typedef size_t z_size_t;
+#else
+typedef unsigned long z_size_t;
+#endif
+#undef z_longlong
+#endif
+
+/* Maximum value for memLevel in deflateInit2 */
+#ifndef MAX_MEM_LEVEL
+#ifdef MAXSEG_64K
+#define MAX_MEM_LEVEL 8
+#else
+#define MAX_MEM_LEVEL 9
+#endif
+#endif
+
+/* Maximum value for windowBits in deflateInit2 and inflateInit2.
+ * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
+ * created by gzip. (Files created by minigzip can still be extracted by
+ * gzip.)
+ */
+#ifndef MAX_WBITS
+#define MAX_WBITS 15 /* 32K LZ77 window */
+#endif
+
+/* The memory requirements for deflate are (in bytes):
+            (1 << (windowBits+2)) +  (1 << (memLevel+9))
+ that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
+ plus a few kilobytes for small objects. For example, if you want to reduce
+ the default memory requirements from 256K to 128K, compile with
+     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
+ Of course this will generally degrade compression (there's no free lunch).
+
+   The memory requirements for inflate are (in bytes) 1 << windowBits
+ that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
+ for small objects.
+*/
+
+/* Type declarations */
+
+#ifndef OF /* function prototypes */
+#ifdef STDC
+#define OF(args) args
+#else
+#define OF(args) ()
+#endif
+#endif
+
+#ifndef Z_ARG /* function prototypes for stdarg */
+#if defined(STDC) || defined(Z_HAVE_STDARG_H)
+#define Z_ARG(args) args
+#else
+#define Z_ARG(args) ()
+#endif
+#endif
+
+/* The following definitions for FAR are needed only for MSDOS mixed
+ * model programming (small or medium model with some far allocations).
+ * This was tested only with MSC; for other MSDOS compilers you may have
+ * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
+ * just define FAR to be empty.
+ */
+#ifdef SYS16BIT
+#if defined(M_I86SM) || defined(M_I86MM)
+/* MSC small or medium model */
+#define SMALL_MEDIUM
+#ifdef _MSC_VER
+#define FAR _far
+#else
+#define FAR far
+#endif
+#endif
+#if (defined(__SMALL__) || defined(__MEDIUM__))
+/* Turbo C small or medium model */
+#define SMALL_MEDIUM
+#ifdef __BORLANDC__
+#define FAR _far
+#else
+#define FAR far
+#endif
+#endif
+#endif
+
+#if defined(WINDOWS) || defined(WIN32)
+/* If building or using zlib as a DLL, define ZLIB_DLL.
+ * This is not mandatory, but it offers a little performance increase.
+ */
+#ifdef ZLIB_DLL
+#if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
+#ifdef ZLIB_INTERNAL
+#define ZEXTERN extern __declspec(dllexport)
+#else
+#define ZEXTERN extern __declspec(dllimport)
+#endif
+#endif
+#endif /* ZLIB_DLL */
+       /* If building or using zlib with the WINAPI/WINAPIV calling convention,
+        * define ZLIB_WINAPI.
+        * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
+        */
+#ifdef ZLIB_WINAPI
+#ifdef FAR
+#undef FAR
+#endif
+#include <windows.h>
+/* No need for _export, use ZLIB.DEF instead. */
+/* For complete Windows compatibility, use WINAPI, not __stdcall. */
+#define ZEXPORT WINAPI
+#ifdef WIN32
+#define ZEXPORTVA WINAPIV
+#else
+#define ZEXPORTVA FAR CDECL
+#endif
+#endif
+#endif
+
+#if defined(__BEOS__)
+#ifdef ZLIB_DLL
+#ifdef ZLIB_INTERNAL
+#define ZEXPORT   __declspec(dllexport)
+#define ZEXPORTVA __declspec(dllexport)
+#else
+#define ZEXPORT   __declspec(dllimport)
+#define ZEXPORTVA __declspec(dllimport)
+#endif
+#endif
+#endif
+
+#ifndef ZEXTERN
+#define ZEXTERN extern
+#endif
+#ifndef ZEXPORT
+#define ZEXPORT
+#endif
+#ifndef ZEXPORTVA
+#define ZEXPORTVA
+#endif
+
+#ifndef FAR
+#define FAR
+#endif
+
+#if !defined(__MACTYPES__)
+typedef unsigned char Byte; /* 8 bits */
+#endif
+typedef unsigned int uInt;   /* 16 bits or more */
+typedef unsigned long uLong; /* 32 bits or more */
+
+#ifdef SMALL_MEDIUM
+/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
+#define Bytef Byte FAR
+#else
+typedef Byte FAR Bytef;
+#endif
+typedef char FAR charf;
+typedef int FAR intf;
+typedef uInt FAR uIntf;
+typedef uLong FAR uLongf;
+
+#ifdef STDC
+typedef void const* voidpc;
+typedef void FAR* voidpf;
+typedef void* voidp;
+#else
+typedef Byte const* voidpc;
+typedef Byte FAR* voidpf;
+typedef Byte* voidp;
+#endif
+
+#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
+#include <limits.h>
+#if (UINT_MAX == 0xffffffffUL)
+#define Z_U4 unsigned
+#elif (ULONG_MAX == 0xffffffffUL)
+#define Z_U4 unsigned long
+#elif (USHRT_MAX == 0xffffffffUL)
+#define Z_U4 unsigned short
+#endif
+#endif
+
+#ifdef Z_U4
+typedef Z_U4 z_crc_t;
+#else
+typedef unsigned long z_crc_t;
+#endif
+
+#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
+#define Z_HAVE_STDARG_H
+#endif
+
+#ifdef STDC
+#ifndef Z_SOLO
+#include <sys/types.h> /* for off_t */
+#endif
+#endif
+
+#if defined(STDC) || defined(Z_HAVE_STDARG_H)
+#ifndef Z_SOLO
+#include <stdarg.h> /* for va_list */
+#endif
+#endif
+
+#ifdef _WIN32
+#ifndef Z_SOLO
+#include <stddef.h> /* for wchar_t */
+#endif
+#endif
+
+/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+ * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
+ * though the former does not conform to the LFS document), but considering
+ * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
+ * equivalently requesting no 64-bit operations
+ */
+#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
+#undef _LARGEFILE64_SOURCE
+#endif
+
+#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
+#define Z_HAVE_UNISTD_H
+#endif
+
+#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE - 0
+#define Z_LFS64
+#endif
+
+#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
+#define Z_LARGE64
+#endif
+
+#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS - 0 == 64 && defined(Z_LFS64)
+#define Z_WANT64
+#endif
+
+#if !defined(SEEK_SET) && !defined(Z_SOLO)
+#define SEEK_SET 0 /* Seek from beginning of file.  */
+#define SEEK_CUR 1 /* Seek from current position.  */
+#define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
+#endif
+
+#ifndef z_off_t
+#define z_off_t long
+#endif
+
+#if !defined(_WIN32) && defined(Z_LARGE64)
+#define z_off64_t off64_t
+#else
+#if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
+#define z_off64_t __int64
+#else
+#define z_off64_t z_off_t
+#endif
+#endif
+
+/* MVS linker does not support external names larger than 8 bytes */
+#if defined(__MVS__)
+#pragma map(deflateInit_, "DEIN")
+#pragma map(deflateInit2_, "DEIN2")
+#pragma map(deflateEnd, "DEEND")
+#pragma map(deflateBound, "DEBND")
+#pragma map(inflateInit_, "ININ")
+#pragma map(inflateInit2_, "ININ2")
+#pragma map(inflateEnd, "INEND")
+#pragma map(inflateSync, "INSY")
+#pragma map(inflateSetDictionary, "INSEDI")
+#pragma map(compressBound, "CMBND")
+#pragma map(inflate_table, "INTABL")
+#pragma map(inflate_fast, "INFA")
+#pragma map(inflate_copyright, "INCOPY")
+#endif
+
+#endif /* ZCONF_H */
diff --git a/contrib/build-dependencies.sh b/contrib/build-dependencies.sh
index 6b5331e..92e2466 100755
--- a/contrib/build-dependencies.sh
+++ b/contrib/build-dependencies.sh
@@ -2,6 +2,8 @@
 # Build Jami daemon for architecture specified by ANDROID_ABI
 set -e
 
+CURRENTDIR=$(pwd)
+
 if [ -z "$ANDROID_NDK" -o -z "$ANDROID_SDK" ]; then
    echo "You must define ANDROID_NDK, ANDROID_SDK and ANDROID_ABI before starting."
    echo "They must point to your NDK and SDK directories."
@@ -137,8 +139,11 @@ CONTRIB_SYSROOT=${DAEMON_DIR}/contrib/${TARGET_TUPLE}
 mkdir -p ${CONTRIB_DIR}
 mkdir -p ${CONTRIB_SYSROOT}/lib/pkgconfig
 
+echo "copying files"
+cp -r ${CURRENTDIR}/freetype ${DAEMON_DIR}/contrib/src
+
 cd ${CONTRIB_DIR}
-../bootstrap --host=${TARGET_TUPLE} --enable-ffmpeg --disable-argon2 --disable-asio --disable-fmt --disable-gcrypt --disable-gmp --disable-gnutls --disable-gpg-error --disable-gsm --disable-http_parser --disable-jack --disable-jsoncpp --disable-libarchive --disable-libressl --disable-msgpack --disable-natpmp --disable-nettle --enable-opencv --disable-opendht --disable-pjproject --disable-portaudio --disable-restinio --disable-secp256k1 --disable-speexdsp --disable-upnp --disable-uuid --disable-yaml-cpp
+../bootstrap --host=${TARGET_TUPLE} --enable-freetype --enable-ffmpeg --disable-webrtc-audio-processing --disable-argon2 --disable-asio --disable-fmt --disable-gcrypt --disable-gmp --disable-gnutls --disable-gpg-error --disable-gsm --disable-http_parser --disable-jack --disable-jsoncpp --disable-libarchive --disable-libressl --disable-msgpack --disable-natpmp --disable-nettle --enable-opencv --disable-opendht --disable-pjproject --disable-portaudio --disable-restinio --disable-secp256k1 --disable-speexdsp --disable-upnp --disable-uuid --disable-yaml-cpp
 
 make list
 make fetch
diff --git a/contrib/freetype/autogen.sh b/contrib/freetype/autogen.sh
new file mode 100755
index 0000000..a7c3cad
--- /dev/null
+++ b/contrib/freetype/autogen.sh
@@ -0,0 +1,165 @@
+#!/bin/sh
+
+# Copyright 2005-2017 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+run ()
+{
+  echo "running \`$*'"
+  eval $*
+
+  if test $? != 0 ; then
+    echo "error while running \`$*'"
+    exit 1
+  fi
+}
+
+get_major_version ()
+{
+  echo $1 | sed -e 's/\([0-9][0-9]*\)\..*/\1/g'
+}
+
+get_minor_version ()
+{
+  echo $1 | sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'
+}
+
+get_patch_version ()
+{
+  # tricky: some version numbers don't include a patch
+  # separated with a point, but something like 1.4-p6
+  patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'`
+  if test "$patch" = "$1"; then
+    patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\-p\([0-9][0-9]*\).*/\1/g'`
+    # if there isn't any patch number, default to 0
+    if test "$patch" = "$1"; then
+      patch=0
+    fi
+  fi
+  echo $patch
+}
+
+# $1: version to check
+# $2: minimum version
+
+compare_to_minimum_version ()
+{
+  MAJOR1=`get_major_version $1`
+  MAJOR2=`get_major_version $2`
+  if test $MAJOR1 -lt $MAJOR2; then
+    echo 0
+    return
+  else
+    if test $MAJOR1 -gt $MAJOR2; then
+      echo 1
+      return
+    fi
+  fi
+
+  MINOR1=`get_minor_version $1`
+  MINOR2=`get_minor_version $2`
+  if test $MINOR1 -lt $MINOR2; then
+    echo 0
+    return
+  else
+    if test $MINOR1 -gt $MINOR2; then
+      echo 1
+      return
+    fi
+  fi
+
+  PATCH1=`get_patch_version $1`
+  PATCH2=`get_patch_version $2`
+  if test $PATCH1 -lt $PATCH2; then
+    echo 0
+  else
+    echo 1
+  fi
+}
+
+# check the version of a given tool against a minimum version number
+#
+# $1: tool path
+# $2: tool usual name (e.g. `aclocal')
+# $3: tool variable  (e.g. `ACLOCAL')
+# $4: minimum version to check against
+# $5: option field index used to extract the tool version from the
+#     output of --version
+
+check_tool_version ()
+{
+  field=$5
+  # assume the output of "[TOOL] --version" is "toolname (GNU toolname foo bar) version"
+  if test "$field"x = x; then
+    field=3  # default to 3 for all GNU autotools, after filtering enclosed string
+  fi
+  version=`$1 --version | head -1 | sed 's/([^)]*)/()/g' | cut -d ' ' -f $field`
+  version_check=`compare_to_minimum_version $version $4`
+  if test "$version_check"x = 0x; then
+    echo "ERROR: Your version of the \`$2' tool is too old."
+    echo "       Minimum version $4 is required (yours is version $version)."
+    echo "       Please upgrade or use the $3 variable to point to a more recent one."
+    echo ""
+    exit 1
+  fi
+}
+
+if test ! -f ./builds/unix/configure.raw; then
+  echo "You must be in the same directory as \`autogen.sh'."
+  echo "Bootstrapping doesn't work if srcdir != builddir."
+  exit 1
+fi
+
+# On MacOS X, the GNU libtool is named `glibtool'.
+HOSTOS=`uname`
+if test "$LIBTOOLIZE"x != x; then
+  :
+elif test "$HOSTOS"x = Darwinx; then
+  LIBTOOLIZE=glibtoolize
+else
+  LIBTOOLIZE=libtoolize
+fi
+
+if test "$ACLOCAL"x = x; then
+  ACLOCAL=aclocal
+fi
+
+if test "$AUTOCONF"x = x; then
+  AUTOCONF=autoconf
+fi
+
+check_tool_version $ACLOCAL    aclocal    ACLOCAL    1.10.1
+check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 0
+check_tool_version $AUTOCONF   autoconf   AUTOCONF   2.62
+
+# This sets freetype_major, freetype_minor, and freetype_patch.
+eval `sed -nf version.sed include/freetype/freetype.h`
+
+# We set freetype-patch to an empty value if it is zero.
+if test "$freetype_patch" = ".0"; then
+  freetype_patch=
+fi
+
+cd builds/unix
+
+echo "generating \`configure.ac'"
+sed -e "s;@VERSION@;$freetype_major$freetype_minor$freetype_patch;" \
+  < configure.raw > configure.ac
+
+run aclocal -I . --force
+run $LIBTOOLIZE --force --copy --install
+run autoconf --force
+
+chmod +x install-sh
+
+cd ../..
+
+chmod +x ./configure
+
+# EOF
diff --git a/contrib/freetype/freetype.vcxproj b/contrib/freetype/freetype.vcxproj
new file mode 100644
index 0000000..7ebbe9a
--- /dev/null
+++ b/contrib/freetype/freetype.vcxproj
@@ -0,0 +1,1780 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug Multithreaded|Win32">
+      <Configuration>Debug Multithreaded</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug Multithreaded|x64">
+      <Configuration>Debug Multithreaded</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug Singlethreaded|Win32">
+      <Configuration>Debug Singlethreaded</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug Singlethreaded|x64">
+      <Configuration>Debug Singlethreaded</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Multithreaded|Win32">
+      <Configuration>Release Multithreaded</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Multithreaded|x64">
+      <Configuration>Release Multithreaded</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Singlethreaded|Win32">
+      <Configuration>Release Singlethreaded</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Singlethreaded|x64">
+      <Configuration>Release Singlethreaded</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+    <!--
+    Switch the PlatformToolset based on the Visual Studio Version
+-->
+<PropertyGroup>
+    <!-- Assume Visual Studio 2010 / 4.0 as the default -->
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">4.0</VisualStudioVersion>
+</PropertyGroup>
+<!-- Visual Studio 2010 (4.0) -->
+<PropertyGroup Condition="'$(VisualStudioVersion)' == '4.0'">
+    <PlatformToolset>v142</PlatformToolset>
+</PropertyGroup>
+<!-- Visual Studio 2013 (12.0) -->
+<PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'">
+    <PlatformToolset>v142</PlatformToolset>
+</PropertyGroup>
+<!-- Visual Studio 2015 (14.0) -->
+<PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'">
+    <PlatformToolset>v142</PlatformToolset>
+</PropertyGroup>
+<!-- Visual Studio 2017 (15.0) -->
+<PropertyGroup Condition="'$(VisualStudioVersion)' == '15.0'">
+    <PlatformToolset>v142</PlatformToolset>
+</PropertyGroup>
+<!--
+    End of: Switch the PlatformToolset based on the Visual Studio Version
+-->
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">.\..\..\..\..\..\msvc\lib\$(Platform)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'" />
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'" />
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'" />
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" />
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" />
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetyped</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetyped</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetypeMTd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetypeMTd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetypeSTd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetypeSTd</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetypeMT</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetypeMT</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetypeST</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetypeST</TargetName>
+  </PropertyGroup>
+  <Import Project="$(SolutionDir)\freetype.user.props" Condition="exists('$(SolutionDir)\freetype.user.props')" Label="UserProperties" />
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetMachine>MachineX86</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetMachine>MachineX64</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessToFile>false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetMachine>MachineX86</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessToFile>false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetMachine>MachineX64</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetMachine>MachineX86</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
+      <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetMachine>MachineX64</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <FloatingPointExceptions>false</FloatingPointExceptions>
+      <CreateHotpatchableImage>false</CreateHotpatchableImage>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>
+      </ProgramDataBaseFileName>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
+      <TargetMachine>MachineX86</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <FloatingPointExceptions>false</FloatingPointExceptions>
+      <CreateHotpatchableImage>false</CreateHotpatchableImage>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>
+      </ProgramDataBaseFileName>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
+      <TargetMachine>MachineX64</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <FloatingPointExceptions>false</FloatingPointExceptions>
+      <CreateHotpatchableImage>false</CreateHotpatchableImage>
+      <RuntimeTypeInfo>false</RuntimeTypeInfo>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>
+      </ProgramDataBaseFileName>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
+      <TargetMachine>MachineX86</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <FloatingPointExceptions>false</FloatingPointExceptions>
+      <CreateHotpatchableImage>false</CreateHotpatchableImage>
+      <RuntimeTypeInfo>false</RuntimeTypeInfo>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>
+      </ProgramDataBaseFileName>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
+      <TargetMachine>MachineX64</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <FloatingPointExceptions>false</FloatingPointExceptions>
+      <CreateHotpatchableImage>false</CreateHotpatchableImage>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>
+      </ProgramDataBaseFileName>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib />
+    <Lib>
+      <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
+      <TargetMachine>MachineX86</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>true</DisableLanguageExtensions>
+      <WarningLevel>Level4</WarningLevel>
+      <CompileAs>Default</CompileAs>
+      <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <FloatingPointExceptions>false</FloatingPointExceptions>
+      <CreateHotpatchableImage>false</CreateHotpatchableImage>
+      <CompileAsManaged>false</CompileAsManaged>
+      <ProgramDataBaseFileName>
+      </ProgramDataBaseFileName>
+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>true</OmitFramePointers>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Lib />
+    <Lib>
+      <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
+      <TargetMachine>MachineX64</TargetMachine>
+      <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
+    <PostBuildEvent>
+      <Command>copy $(SolutionDir)..\..\..\docs\GPLv2.TXT $(TargetDir)..\..\licenses\freetype.txt /Y
+xcopy $(SolutionDir)..\..\..\include $(TargetDir)..\..\include\ /E /Y</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\src\autofit\autofit.c" />
+    <ClCompile Include="..\..\..\src\bdf\bdf.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\cff\cff.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\base\ftbase.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\base\ftbitmap.c" />
+    <ClCompile Include="..\..\..\src\cache\ftcache.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\ftdebug.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">false</DisableLanguageExtensions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">false</DisableLanguageExtensions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</DisableLanguageExtensions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">false</DisableLanguageExtensions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">false</DisableLanguageExtensions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</DisableLanguageExtensions>
+      <DisableLanguageExtensions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</DisableLanguageExtensions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\base\ftfstype.c" />
+    <ClCompile Include="..\..\..\src\base\ftgasp.c" />
+    <ClCompile Include="..\..\..\src\base\ftglyph.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\gzip\ftgzip.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\base\ftinit.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\lzw\ftlzw.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\base\ftstroke.c" />
+    <ClCompile Include="..\..\..\src\base\ftsystem.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\smooth\smooth.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\base\ftbbox.c" />
+    <ClCompile Include="..\..\..\src\base\ftfntfmt.c" />
+    <ClCompile Include="..\..\..\src\base\ftmm.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\base\ftpfr.c" />
+    <ClCompile Include="..\..\..\src\base\ftsynth.c" />
+    <ClCompile Include="..\..\..\src\base\fttype1.c" />
+    <ClCompile Include="..\..\..\src\base\ftwinfnt.c" />
+    <ClCompile Include="..\..\..\src\base\ftlcdfil.c" />
+    <ClCompile Include="..\..\..\src\base\ftgxval.c" />
+    <ClCompile Include="..\..\..\src\base\ftotval.c" />
+    <ClCompile Include="..\..\..\src\base\ftpatent.c" />
+    <ClCompile Include="..\..\..\src\pcf\pcf.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\pfr\pfr.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\psaux\psaux.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\pshinter\pshinter.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\psnames\psmodule.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\raster\raster.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\sfnt\sfnt.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\truetype\truetype.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\type1\type1.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\cid\type1cid.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\type42\type42.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\winfonts\winfnt.c">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\include\ft2build.h" />
+    <ClInclude Include="..\..\..\include\freetype\config\ftconfig.h" />
+    <ClInclude Include="..\..\..\include\freetype\config\ftheader.h" />
+    <ClInclude Include="..\..\..\include\freetype\config\ftmodule.h" />
+    <ClInclude Include="..\..\..\include\freetype\config\ftoption.h" />
+    <ClInclude Include="..\..\..\include\freetype\config\ftstdlib.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/contrib/freetype/package.json b/contrib/freetype/package.json
new file mode 100644
index 0000000..61dd4b9
--- /dev/null
+++ b/contrib/freetype/package.json
@@ -0,0 +1,15 @@
+{
+    "name": "freetype",
+    "version": "39ce3ac499d4cd7371031a062f410953c8ecce29",
+    "url": "https://gitlab.freedesktop.org/freetype/freetype/-/archive/__VERSION__/freetype-__VERSION__.tar.gz",
+    "deps": [],
+    "patches": [],
+    "win_patches": [],
+    "project_paths": ["builds/windows/vc2010/freetype.vcxproj"],
+    "with_env" : "10.0.16299.0",
+    "custom_scripts": {
+        "pre_build": ["copy %cd%\\\\..\\\\..\\\\src\\\\freetype\\\\freetype.vcxproj %cd%\\\\builds\\\\windows\\\\vc2010\\\\freetype.vcxproj /Y"],
+        "build": [],
+        "post_build": []
+    }
+}
diff --git a/contrib/freetype/rules.mak b/contrib/freetype/rules.mak
new file mode 100644
index 0000000..a98a3a4
--- /dev/null
+++ b/contrib/freetype/rules.mak
@@ -0,0 +1,36 @@
+# freetype
+FREETYPE_HASH := 39ce3ac499d4cd7371031a062f410953c8ecce29
+FREETYPE_GITURL := https://gitlab.freedesktop.org/freetype/freetype.git
+
+FTCONFIG := --build="$(BUILD)"   \
+            --host="$(HOST)"     \
+            --prefix="$(PREFIX)" \
+            --enable-shared=no   \
+            --enable-static=yes  \
+            --with-zlib=no       \
+            --with-png=no        \
+            --with-harfbuzz=no
+
+$(TARBALLS)/freetype-$(FREETYPE_HASH).tar.xz:
+	$(call download_git,$(FREETYPE_GITURL),master,$(FREETYPE_HASH))
+
+.sum-freetype: freetype-$(FREETYPE_HASH).tar.xz
+	$(warning $@ not implemented)
+	touch $@
+
+freetype: freetype-$(FREETYPE_HASH).tar.xz .sum-freetype
+	rm -Rf $@-$(FREETYPE_HASH)
+	mkdir -p $@-$(FREETYPE_HASH)
+	(cd $@-$(FREETYPE_HASH) && tar x $(if ${BATCH_MODE},,-v) --strip-components=1 -f $<)
+	$(UPDATE_AUTOCONFIG)
+	$(MOVE)
+
+.freetype: freetype
+	cd $< && cp ./../../src/freetype/autogen.sh .
+ifdef HAVE_ANDROID
+	cd $< && $(HOSTVARS) sh autogen.sh
+	cd $< && $(HOSTVARS) ./configure $(FTCONFIG)
+	cd $< && $(MAKE)
+	cd $< && $(MAKE) install
+endif
+	touch $@
diff --git a/lib/frameScaler.h b/lib/frameScaler.h
index 24b4319..c246cbb 100644
--- a/lib/frameScaler.h
+++ b/lib/frameScaler.h
@@ -28,19 +28,10 @@ extern "C" {
 #include <libswscale/swscale.h>
 }
 
-// STL
-#include <memory>
-#include <functional>
-
-using FrameUniquePtr = std::unique_ptr<AVFrame, void (*)(AVFrame*)>;
-
 class FrameScaler
 {
 public:
-    FrameScaler()
-        : ctx_(nullptr)
-        , mode_(SWS_FAST_BILINEAR)
-    {}
+    FrameScaler() {}
 
     /**
      * @brief scaleConvert
@@ -52,12 +43,13 @@ public:
      * @param desiredFormat
      * @return
      */
-    AVFrame* scaleConvert(const AVFrame* input,
-                                const size_t desiredWidth,
-                                const size_t desiredHeight,
-                                const AVPixelFormat desiredFormat)
+    static AVFrame* scaleConvert(const AVFrame* input,
+                                 const size_t desiredWidth,
+                                 const size_t desiredHeight,
+                                 const AVPixelFormat desiredFormat)
     {
         if (input) {
+            SwsContext* ctx_ = nullptr;
             AVFrame* output = av_frame_alloc();
             output->width = static_cast<int>(desiredWidth);
             output->height = static_cast<int>(desiredHeight);
@@ -76,7 +68,7 @@ public:
                                         output->width,
                                         output->height,
                                         static_cast<AVPixelFormat>(output->format),
-                                        mode_,
+                                        SWS_FAST_BILINEAR,
                                         nullptr,
                                         nullptr,
                                         nullptr);
@@ -87,17 +79,20 @@ public:
             }
 
             if (sws_scale(ctx_,
-                      input->data,
-                      input->linesize,
-                      0,
-                      input->height,
-                      output->data,
-                          output->linesize) <= 0 ) {
+                          input->data,
+                          input->linesize,
+                          0,
+                          input->height,
+                          output->data,
+                          output->linesize)
+                <= 0) {
                 av_frame_unref(output);
                 av_frame_free(&output);
+                sws_freeContext(ctx_);
                 return nullptr;
             }
-            
+
+            sws_freeContext(ctx_);
             return output;
         }
         return nullptr;
@@ -109,7 +104,7 @@ public:
      * @param pix
      * @return
      */
-    AVFrame* convertFormat(const AVFrame* input, AVPixelFormat pix)
+    static AVFrame* convertFormat(const AVFrame* input, AVPixelFormat pix)
     {
         return input ? scaleConvert(input,
                                     static_cast<size_t>(input->width),
@@ -117,10 +112,6 @@ public:
                                     pix)
                      : nullptr;
     }
-
-protected:
-    SwsContext* ctx_;
-    int mode_;
 };
 
 #endif // FRAMESCALER_H
diff --git a/lib/frameUtils.cpp b/lib/frameUtils.cpp
index 4c38172..e7c23ff 100644
--- a/lib/frameUtils.cpp
+++ b/lib/frameUtils.cpp
@@ -24,16 +24,19 @@ extern "C" {
 #include <libavutil/avutil.h>
 }
 
-/**
- * @brief moveFrom
- * @param dst
- * @param src
- */
 void
 moveFrom(AVFrame* dst, AVFrame* src)
 {
     if (dst && src) {
+        av_frame_copy_props(src, dst);
         av_frame_unref(dst);
         av_frame_move_ref(dst, src);
     }
 }
+
+void
+frameFree(AVFrame* frame)
+{
+    av_frame_unref(frame);
+    av_frame_free(&frame);
+}
diff --git a/lib/frameUtils.h b/lib/frameUtils.h
index 250a7a0..64b0c6f 100644
--- a/lib/frameUtils.h
+++ b/lib/frameUtils.h
@@ -32,4 +32,10 @@ extern "C" {
  */
 void moveFrom(AVFrame* dst, AVFrame* src);
 
+/**
+ * @brief unref and free AVFrame
+ *
+ * @param frame
+ */
+void frameFree(AVFrame* frame);
 #endif // FRAMEUTILS_H
-- 
GitLab