From 73b5eadd3c9ac9df58e5a3d46d401828b254c744 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 24 Nov 2020 23:37:37 -0500 Subject: [PATCH] Windows X64 Microsoft-Signed Driver for Windows 10 --- .../ZeroTierOne_NDIS6_x64.msi | Bin .../tap-windows-ndis6/x64.old/zttap300.cat | Bin 0 -> 10017 bytes .../tap-windows-ndis6/x64.old/zttap300.inf | 143 ++++ .../tap-windows-ndis6/x64.old/zttap300.sys | Bin 0 -> 30488 bytes ext/bin/tap-windows-ndis6/x64/zttap300.cat | Bin 10017 -> 10769 bytes ext/bin/tap-windows-ndis6/x64/zttap300.inf | 287 +++---- ext/bin/tap-windows-ndis6/x64/zttap300.sys | Bin 30488 -> 31744 bytes ext/installfiles/windows/ZeroTier One.aip | 10 +- windows/TapDriver6/TapDriver6.vcxproj | 799 +++++++++--------- windows/TapDriver6/config.h | 6 +- windows/TapDriver6/tap.h | 2 +- windows/TapDriver6/zttap300.inf | 6 +- windows/ZeroTierOne.sln | 210 +++++ 13 files changed, 913 insertions(+), 550 deletions(-) rename ext/bin/tap-windows-ndis6/{x64 => x64.old}/ZeroTierOne_NDIS6_x64.msi (100%) create mode 100644 ext/bin/tap-windows-ndis6/x64.old/zttap300.cat create mode 100644 ext/bin/tap-windows-ndis6/x64.old/zttap300.inf create mode 100644 ext/bin/tap-windows-ndis6/x64.old/zttap300.sys diff --git a/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi b/ext/bin/tap-windows-ndis6/x64.old/ZeroTierOne_NDIS6_x64.msi similarity index 100% rename from ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi rename to ext/bin/tap-windows-ndis6/x64.old/ZeroTierOne_NDIS6_x64.msi diff --git a/ext/bin/tap-windows-ndis6/x64.old/zttap300.cat b/ext/bin/tap-windows-ndis6/x64.old/zttap300.cat new file mode 100644 index 0000000000000000000000000000000000000000..8b9114c71d0508a0d374dd70c48529922751feff GIT binary patch literal 10017 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 S#)0h5lVtOoWwgp$m;Vd3glSFy literal 0 HcmV?d00001 diff --git a/ext/bin/tap-windows-ndis6/x64.old/zttap300.inf b/ext/bin/tap-windows-ndis6/x64.old/zttap300.inf new file mode 100644 index 000000000..453797b38 --- /dev/null +++ b/ext/bin/tap-windows-ndis6/x64.old/zttap300.inf @@ -0,0 +1,143 @@ +; +; ZeroTier One Virtual Network Port NDIS6 Driver +; +; Based on the OpenVPN tap-windows6 driver version 9.21.1 git +; commit 48f027cfca52b16b5fd23d82e6016ed8a91fc4d3. +; See: https://github.com/OpenVPN/tap-windows6 +; +; Modified by ZeroTier, Inc. - https://www.zerotier.com/ +; +; (1) Comment out 'tun' functionality and related features such as DHCP +; emulation, since we don't use any of that. Just want straight 'tap'. +; (2) Added custom IOCTL to enumerate L2 multicast memberships. +; (3) Increase maximum number of multicast memberships to 128. +; (4) Set default and max device MTU to 2800. +; (5) Rename/rebrand driver as ZeroTier network port driver. +; +; Original copyright below. Modifications released under GPLv2 as well. +; +; **************************************************************************** +; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. * +; * This program is free software; you can redistribute it and/or modify * +; * it under the terms of the GNU General Public License version 2 * +; * as published by the Free Software Foundation. * +; **************************************************************************** +; + +[Version] +Signature = "$Windows NT$" +CatalogFile = zttap300.cat +ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} +Provider = %Provider% +Class = Net +DriverVer=08/13/2015,6.2.9200.20557 + +[Strings] +DeviceDescription = "ZeroTier One Virtual Port" +Provider = "ZeroTier Networks LLC" ; We're ZeroTier, Inc. now but kernel mode certs are $300+ so fuqdat. + +; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back! +[Manufacturer] +%Provider%=zttap300,NTamd64 + +[zttap300] +%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated +%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy + +[zttap300.NTamd64] +%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated +%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy + +;----------------- Characteristics ------------ +; NCF_PHYSICAL = 0x04 +; NCF_VIRTUAL = 0x01 +; NCF_SOFTWARE_ENUMERATED = 0x02 +; NCF_HIDDEN = 0x08 +; NCF_NO_SERVICE = 0x10 +; NCF_HAS_UI = 0x80 +;----------------- Characteristics ------------ +[zttap300.ndi] +CopyFiles = zttap300.driver, zttap300.files +AddReg = zttap300.reg +AddReg = zttap300.params.reg +Characteristics = 0x81 +*IfType = 0x6 ; IF_TYPE_ETHERNET_CSMACD +*MediaType = 0x0 ; NdisMedium802_3 +*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3 + +[zttap300.ndi.Services] +AddService = zttap300, 2, zttap300.service + +[zttap300.reg] +HKR, Ndi, Service, 0, "zttap300" +HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" ; yes, 'ndis5' is correct... yup, Windows. +HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" +HKR, , Manufacturer, 0, "%Provider%" +HKR, , ProductName, 0, "%DeviceDescription%" + +[zttap300.params.reg] +HKR, Ndi\params\MTU, ParamDesc, 0, "MTU" +HKR, Ndi\params\MTU, Type, 0, "int" +HKR, Ndi\params\MTU, Default, 0, "2800" +HKR, Ndi\params\MTU, Optional, 0, "0" +HKR, Ndi\params\MTU, Min, 0, "100" +HKR, Ndi\params\MTU, Max, 0, "2800" +HKR, Ndi\params\MTU, Step, 0, "1" +HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status" +HKR, Ndi\params\MediaStatus, Type, 0, "enum" +HKR, Ndi\params\MediaStatus, Default, 0, "0" +HKR, Ndi\params\MediaStatus, Optional, 0, "0" +HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application Controlled" +HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always Connected" +HKR, Ndi\params\MAC, ParamDesc, 0, "MAC Address" +HKR, Ndi\params\MAC, Type, 0, "edit" +HKR, Ndi\params\MAC, Optional, 0, "1" +HKR, Ndi\params\AllowNonAdmin, ParamDesc, 0, "Non-Admin Access" +HKR, Ndi\params\AllowNonAdmin, Type, 0, "enum" +HKR, Ndi\params\AllowNonAdmin, Default, 0, "0" +HKR, Ndi\params\AllowNonAdmin, Optional, 0, "0" +HKR, Ndi\params\AllowNonAdmin\enum, "0", 0, "Not Allowed" +HKR, Ndi\params\AllowNonAdmin\enum, "1", 0, "Allowed" + +;---------- Service Type ------------- +; SERVICE_KERNEL_DRIVER = 0x01 +; SERVICE_WIN32_OWN_PROCESS = 0x10 +;---------- Service Type ------------- + +;---------- Start Mode --------------- +; SERVICE_BOOT_START = 0x0 +; SERVICE_SYSTEM_START = 0x1 +; SERVICE_AUTO_START = 0x2 +; SERVICE_DEMAND_START = 0x3 +; SERVICE_DISABLED = 0x4 +;---------- Start Mode --------------- + +[zttap300.service] +DisplayName = %DeviceDescription% +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +LoadOrderGroup = NDIS +ServiceBinary = %12%\zttap300.sys + +;----------------- Copy Flags ------------ +; COPYFLG_NOSKIP = 0x02 +; COPYFLG_NOVERSIONCHECK = 0x04 +;----------------- Copy Flags ------------ + +[SourceDisksNames] +1 = %DeviceDescription%, zttap300.sys + +[SourceDisksFiles] +zttap300.sys = 1 + +[DestinationDirs] +zttap300.files = 11 +zttap300.driver = 12 + +[zttap300.files] +; + +[zttap300.driver] +zttap300.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK + diff --git a/ext/bin/tap-windows-ndis6/x64.old/zttap300.sys b/ext/bin/tap-windows-ndis6/x64.old/zttap300.sys new file mode 100644 index 0000000000000000000000000000000000000000..3d846a53a0a093ccc8041341b2149013990c4de2 GIT binary patch literal 30488 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 U9KEYW^RFs&$|kQSahH7l7jLDT6#xJL literal 0 HcmV?d00001 diff --git a/ext/bin/tap-windows-ndis6/x64/zttap300.cat b/ext/bin/tap-windows-ndis6/x64/zttap300.cat index 8b9114c71d0508a0d374dd70c48529922751feff..6eef79ff8c81d6b82475f4a10bb4171eeb70d8b3 100644 GIT binary patch literal 10769 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 S#)0h5lVtOoWwgp$m;Vd3glSFy diff --git a/ext/bin/tap-windows-ndis6/x64/zttap300.inf b/ext/bin/tap-windows-ndis6/x64/zttap300.inf index 453797b38..cfd8e9f5d 100644 --- a/ext/bin/tap-windows-ndis6/x64/zttap300.inf +++ b/ext/bin/tap-windows-ndis6/x64/zttap300.inf @@ -1,143 +1,144 @@ -; -; ZeroTier One Virtual Network Port NDIS6 Driver -; -; Based on the OpenVPN tap-windows6 driver version 9.21.1 git -; commit 48f027cfca52b16b5fd23d82e6016ed8a91fc4d3. -; See: https://github.com/OpenVPN/tap-windows6 -; -; Modified by ZeroTier, Inc. - https://www.zerotier.com/ -; -; (1) Comment out 'tun' functionality and related features such as DHCP -; emulation, since we don't use any of that. Just want straight 'tap'. -; (2) Added custom IOCTL to enumerate L2 multicast memberships. -; (3) Increase maximum number of multicast memberships to 128. -; (4) Set default and max device MTU to 2800. -; (5) Rename/rebrand driver as ZeroTier network port driver. -; -; Original copyright below. Modifications released under GPLv2 as well. -; -; **************************************************************************** -; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. * -; * This program is free software; you can redistribute it and/or modify * -; * it under the terms of the GNU General Public License version 2 * -; * as published by the Free Software Foundation. * -; **************************************************************************** -; - -[Version] -Signature = "$Windows NT$" -CatalogFile = zttap300.cat -ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} -Provider = %Provider% -Class = Net -DriverVer=08/13/2015,6.2.9200.20557 - -[Strings] -DeviceDescription = "ZeroTier One Virtual Port" -Provider = "ZeroTier Networks LLC" ; We're ZeroTier, Inc. now but kernel mode certs are $300+ so fuqdat. - -; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back! -[Manufacturer] -%Provider%=zttap300,NTamd64 - -[zttap300] -%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated -%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy - -[zttap300.NTamd64] -%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated -%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy - -;----------------- Characteristics ------------ -; NCF_PHYSICAL = 0x04 -; NCF_VIRTUAL = 0x01 -; NCF_SOFTWARE_ENUMERATED = 0x02 -; NCF_HIDDEN = 0x08 -; NCF_NO_SERVICE = 0x10 -; NCF_HAS_UI = 0x80 -;----------------- Characteristics ------------ -[zttap300.ndi] -CopyFiles = zttap300.driver, zttap300.files -AddReg = zttap300.reg -AddReg = zttap300.params.reg -Characteristics = 0x81 -*IfType = 0x6 ; IF_TYPE_ETHERNET_CSMACD -*MediaType = 0x0 ; NdisMedium802_3 -*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3 - -[zttap300.ndi.Services] -AddService = zttap300, 2, zttap300.service - -[zttap300.reg] -HKR, Ndi, Service, 0, "zttap300" -HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" ; yes, 'ndis5' is correct... yup, Windows. -HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" -HKR, , Manufacturer, 0, "%Provider%" -HKR, , ProductName, 0, "%DeviceDescription%" - -[zttap300.params.reg] -HKR, Ndi\params\MTU, ParamDesc, 0, "MTU" -HKR, Ndi\params\MTU, Type, 0, "int" -HKR, Ndi\params\MTU, Default, 0, "2800" -HKR, Ndi\params\MTU, Optional, 0, "0" -HKR, Ndi\params\MTU, Min, 0, "100" -HKR, Ndi\params\MTU, Max, 0, "2800" -HKR, Ndi\params\MTU, Step, 0, "1" -HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status" -HKR, Ndi\params\MediaStatus, Type, 0, "enum" -HKR, Ndi\params\MediaStatus, Default, 0, "0" -HKR, Ndi\params\MediaStatus, Optional, 0, "0" -HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application Controlled" -HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always Connected" -HKR, Ndi\params\MAC, ParamDesc, 0, "MAC Address" -HKR, Ndi\params\MAC, Type, 0, "edit" -HKR, Ndi\params\MAC, Optional, 0, "1" -HKR, Ndi\params\AllowNonAdmin, ParamDesc, 0, "Non-Admin Access" -HKR, Ndi\params\AllowNonAdmin, Type, 0, "enum" -HKR, Ndi\params\AllowNonAdmin, Default, 0, "0" -HKR, Ndi\params\AllowNonAdmin, Optional, 0, "0" -HKR, Ndi\params\AllowNonAdmin\enum, "0", 0, "Not Allowed" -HKR, Ndi\params\AllowNonAdmin\enum, "1", 0, "Allowed" - -;---------- Service Type ------------- -; SERVICE_KERNEL_DRIVER = 0x01 -; SERVICE_WIN32_OWN_PROCESS = 0x10 -;---------- Service Type ------------- - -;---------- Start Mode --------------- -; SERVICE_BOOT_START = 0x0 -; SERVICE_SYSTEM_START = 0x1 -; SERVICE_AUTO_START = 0x2 -; SERVICE_DEMAND_START = 0x3 -; SERVICE_DISABLED = 0x4 -;---------- Start Mode --------------- - -[zttap300.service] -DisplayName = %DeviceDescription% -ServiceType = 1 -StartType = 3 -ErrorControl = 1 -LoadOrderGroup = NDIS -ServiceBinary = %12%\zttap300.sys - -;----------------- Copy Flags ------------ -; COPYFLG_NOSKIP = 0x02 -; COPYFLG_NOVERSIONCHECK = 0x04 -;----------------- Copy Flags ------------ - -[SourceDisksNames] -1 = %DeviceDescription%, zttap300.sys - -[SourceDisksFiles] -zttap300.sys = 1 - -[DestinationDirs] -zttap300.files = 11 -zttap300.driver = 12 - -[zttap300.files] -; - -[zttap300.driver] -zttap300.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK - +; +; ZeroTier One Virtual Network Port NDIS6 Driver +; +; Based on the OpenVPN tap-windows6 driver version 9.21.1 git +; commit 48f027cfca52b16b5fd23d82e6016ed8a91fc4d3. +; See: https://github.com/OpenVPN/tap-windows6 +; +; Modified by ZeroTier, Inc. - https://www.zerotier.com/ +; +; (1) Comment out 'tun' functionality and related features such as DHCP +; emulation, since we don't use any of that. Just want straight 'tap'. +; (2) Added custom IOCTL to enumerate L2 multicast memberships. +; (3) Increase maximum number of multicast memberships to 128. +; (4) Set default and max device MTU to 2800. +; (5) Rename/rebrand driver as ZeroTier network port driver. +; +; Original copyright below. Modifications released under GPLv2 as well. +; +; **************************************************************************** +; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. * +; * This program is free software; you can redistribute it and/or modify * +; * it under the terms of the GNU General Public License version 2 * +; * as published by the Free Software Foundation. * +; **************************************************************************** +; + +[Version] +Signature = "$Windows NT$" +CatalogFile = zttap300.cat +ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} +Provider = %Provider% +Class = Net +DriverVer=11/24/2020,3.00.00.1 + +[Strings] +DeviceDescription = "ZeroTier Virtual Port" +Provider = "ZeroTier" + +; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back! +[Manufacturer] +%Provider%=zttap300,NTamd64 + +[zttap300] +%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated +%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy + +[zttap300.NTamd64] +%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated +%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy + +;----------------- Characteristics ------------ +; NCF_PHYSICAL = 0x04 +; NCF_VIRTUAL = 0x01 +; NCF_SOFTWARE_ENUMERATED = 0x02 +; NCF_HIDDEN = 0x08 +; NCF_NO_SERVICE = 0x10 +; NCF_HAS_UI = 0x80 +;----------------- Characteristics ------------ +[zttap300.ndi] +CopyFiles = zttap300.driver, zttap300.files +AddReg = zttap300.reg +AddReg = zttap300.params.reg +Characteristics = 0x81 +*IfType = 0x6 ; IF_TYPE_ETHERNET_CSMACD +*MediaType = 0x0 ; NdisMedium802_3 +*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3 + +[zttap300.ndi.Services] +AddService = zttap300, 2, zttap300.service + +[zttap300.reg] +HKR, Ndi, Service, 0, "zttap300" +HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" ; yes, 'ndis5' is correct... yup, Windows. +HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" +HKR, , Manufacturer, 0, "%Provider%" +HKR, , ProductName, 0, "%DeviceDescription%" + +[zttap300.params.reg] +HKR, Ndi\params\MTU, ParamDesc, 0, "MTU" +HKR, Ndi\params\MTU, Type, 0, "int" +HKR, Ndi\params\MTU, Default, 0, "2800" +HKR, Ndi\params\MTU, Optional, 0, "0" +HKR, Ndi\params\MTU, Min, 0, "100" +HKR, Ndi\params\MTU, Max, 0, "2800" +HKR, Ndi\params\MTU, Step, 0, "1" +HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status" +HKR, Ndi\params\MediaStatus, Type, 0, "enum" +HKR, Ndi\params\MediaStatus, Default, 0, "0" +HKR, Ndi\params\MediaStatus, Optional, 0, "0" +HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application Controlled" +HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always Connected" +HKR, Ndi\params\MAC, ParamDesc, 0, "MAC Address" +HKR, Ndi\params\MAC, Type, 0, "edit" +HKR, Ndi\params\MAC, Optional, 0, "1" +HKR, Ndi\params\AllowNonAdmin, ParamDesc, 0, "Non-Admin Access" +HKR, Ndi\params\AllowNonAdmin, Type, 0, "enum" +HKR, Ndi\params\AllowNonAdmin, Default, 0, "0" +HKR, Ndi\params\AllowNonAdmin, Optional, 0, "0" +HKR, Ndi\params\AllowNonAdmin\enum, "0", 0, "Not Allowed" +HKR, Ndi\params\AllowNonAdmin\enum, "1", 0, "Allowed" + +;---------- Service Type ------------- +; SERVICE_KERNEL_DRIVER = 0x01 +; SERVICE_WIN32_OWN_PROCESS = 0x10 +;---------- Service Type ------------- + +;---------- Start Mode --------------- +; SERVICE_BOOT_START = 0x0 +; SERVICE_SYSTEM_START = 0x1 +; SERVICE_AUTO_START = 0x2 +; SERVICE_DEMAND_START = 0x3 +; SERVICE_DISABLED = 0x4 +;---------- Start Mode --------------- + +[zttap300.service] +DisplayName = %DeviceDescription% +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +LoadOrderGroup = NDIS +ServiceBinary = %12%\zttap300.sys + +;----------------- Copy Flags ------------ +; COPYFLG_NOSKIP = 0x02 +; COPYFLG_NOVERSIONCHECK = 0x04 +;----------------- Copy Flags ------------ + +[SourceDisksNames] +1 = %DeviceDescription%, zttap300.sys + +[SourceDisksFiles] +zttap300.sys = 1 + +[DestinationDirs] +zttap300.files = 11 +zttap300.driver = 12 + +[zttap300.files] +; + +[zttap300.driver] +zttap300.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK + + diff --git a/ext/bin/tap-windows-ndis6/x64/zttap300.sys b/ext/bin/tap-windows-ndis6/x64/zttap300.sys index 3d846a53a0a093ccc8041341b2149013990c4de2..2c7922b39c0f90debc6d92a7a1febb1b8559625b 100644 GIT binary patch literal 31744 zcmeIb30PCt);E5V5C~&HMX{npMa7ZBq##-o2y&vJ$l!<-gdixBkSNYTa0sVysCBHZ zsBP8O)~R(KzzLjjXw}+Q)T*J;D_UD;^Z)I062PJNe&6%{-{-yG``q}Pv(}#1UVH7e z*Is)cj2^j=5>XUogU4*9s9k{MC+FV({PhIME?#?FsPF7gx7{U(I^8xtJtJS1o0l^# zFF8w=lAN8LqmhkO%ks3@vW#q*a&Vk1D<@Um!`a!v+fwzs7GLX5O*&d_eJ-~?bnYy| zv|xJm8Nkb}E4c9G*2gUH$hqTO{v*{d07u$XoIA?F-qoi$Sb2`X*o>5PQs>|GASQyM zQs+ph;*I;qSo73T?I=f~izoFyV!H6LOaP!Ohsy;75L`%64gln_B?0m)#{(u#|B|8v zR1&iCg{>ZHH7}(#N=^|?yihsuQ04V6EZ@g9m%la5+=k$JA~0o7`;Nm==N5V zzG<8p16u{e>>lX{-s;wI(G1I$gE!3V;~KFsx*eB5BB+Rf@__RUdy>%|k&UVqA!Rp_ z>(iZ2S$_>}>nda==QU1TR>s`n5=~lJgZI2}A1?B+wG6{nFnn%1Wc&bGN@IM0MFFeN zqfhjf4CDLtG|Hg#4rUC_HwRNxzrslb~FDWVC|D!3?^z^1`P zzYx|r>UP%v3bev4g8HtUVhEj#UgPa*C6;u}?7qPlq+XpD=~G%Ayqc8P+U@nC+LxPx zbqBd>GFa{WFzU>?p%mr-~ zEaM??h-Rti+2vYOLtZO(>J-BsVf4enrCe7=U*M6TNKg!A4C%X=qPsNO0Lk7|6#D?M z4+b>KTOM#;vFkD#H;(N{QPN@MD)x-jEkb6@f$%ZxWd;p799#(nP`e)G8AC3F|BTr^ zum?##QyEUik1DN(;F;YYcPEi2jd!3V&_Xb>$9v0m5mi*F^p<_*=}Dn_y%J)9q4Ysq zAWZI#}P(hw;GjM`HNy|jzE{-;vzN7CMvWBR<{?pb%B*qr3|YgKg9F(W@#WmKP$D z)!o8dAMu%Vr>+)Qnm%GJt21$N2M~837^73yP;F=2Z9C&d+ZjM?km(R6#Jy0Y=_4eJ zAwq^KAEA2)&Qt0mjFk~}WKiYvX8ctd@x(m0ABb=*Kul#sGp^T(ZTMbmJqXWkf=h%4 zS_cv`h#?g=v&~wb+sClV@Z2UPE!@^4(&VnIGS^8f!d)T1S_vsS^10a@Wmx4+hMTQa zv7=-vHs43ZPNP-qO~nU_(W9->LI&ZDsWcjO>c-I+xWO_s6Ny1>$F+UdI2I%^>{(;1 z9kOtZMp_#^YrOT$Y$o$Pn4j;KIntn43{%h%=*+Wb_h(o+fk1MIdb9LpKNoq@sO1|m zyI-u&)u_kIxJYOf%nnYk{IhmGs;_~_pQW7yKGN*2sZT|V*3@3_uHV1h%CS?YjtQxN z@?(lX$`W;`L5=eI$)cLB@T$p~)MyweLvM*Na8xwtMd;xpT^cHA&~J=>y0-@=uI?_) zuuu1FKo1z!IcX3ic(*I+QS6FO&Q%y+w1VRMi=U;^lI2JsvzgCbWn9#bw9U#fK^grt z5910)E?kDNQO)54q2$(q0OYDhEHrC3<3iNQume4~sY_;Up}>_g%oG6ihNVU(vJV=M zHL@h5URO@4huAt>*DoW31pPFqpHWalt@L|qKo?P?48!YDIm1rJT-F_-6(7_yHj4dO zg#s#lJ|~e$D)tFl3buv)62%?@DnmP{<^d+%hISOCGQ?G>^x>DI4FjuHV6gGndl1Wg z-t&-)(kdAiN=6qf)b?f!F_JW0Z>Kz3u|+^M9%FW2)|sL}avO#vN(D0g55i!QR(jd& zz5=NwSG7`xU0ThxdDgfCGEasrm-M3mq$iEBP%cl18#;_JWO`RX!;;1sRsr56OvboW zMtE%$G=o0bN>mdDQa*3%Z@~5vrKVp&v@T6WO~E4s1WTq?NEkIxTEVW)J98phDmf!W=>XO zCNpXJ$li>8uw2QO0}W=_SXblr)`X;lJB(ogF;W=aAqf~{cAw@$c!PzB=zNm{8!^r# z+2xKE(?Zz~$ZVl336y~Xz+MimkPg10Urjhf+Cl?TQYEQ_RB628LHe7c z^|I8{A|zL$wNKOUB#buMr&Z1+h(Lf2f`zMZarIykKWqH>rP<7i^m9#!lJ1<#>-)K! zif5xI8|R>6beSnSLdJ5;2cxXYvflP0_7M&H=x~3m^a5iz3J~jtVZ|E}gM^g?gh(`Y z7W0kKJCeDCB@cF@!I>q=dJjh5dI~V3J<1bZHp(hbR{PT0&M4$UJ6BsEAM41OoZ(iJ z6N8E=rjS4#TV~tqOTpkjp_RF|4bDwTYoCx>xYpjZEs5@tS#?*Pxu}XvYr}4$76{u4 zQIJ>qI+B9LM$?H*m|){fr0m&6)CsbUA@vihqV%#+4ZP&4<|dgp3~7{`G8P>--P<*R z%$jn{8aZSgi-U0uDrT!7{qxR(_ppUgQIcX;4FblaoU{_HB%Ydz_EVvZ7z1a9G6=+A zhOi!lR?aveRtIu68^@_D*=zwU5q(4*tQ*9RM{E>Z$r%p_uFK#{6#!q4BxEcEdJ3%o zt!50mCm?|2_5nVR&~M_+5@d^3rEuIpJ~i9i<^G*O=;w)rlp>b40-LC^p|LzVSVXQ=M%1`cO)zHS0`Rgj zqFRDIHTrFY_JSCRixGRE5IsQLi^Kq9a_JmX@Ep!!fep$2^+GH2{#Hk+|b z^+VwVuFATOln*KX1cJdyqCrP|6>0kIr2t$zdfh?}CDkX?8K1u5?Xo1YaHW%lHy6E$ z8GYE&k4$f@(;9D&VTz#&ZuVmndQ~sL4k1miu#x-UlOBLQ`cP?@CWv4wA$zj|%nJ6B zO7vLww6`YFptzt2t(+8ZP*m%l*iUjbC=TkLh$l%5iq(LVwZ;Sxqhzae&u#P52N;}s z$xH5O9TlbbQJIRpWNKb2P>8OT*Vw2;W;Di`5K3W{a-O|Ost{dfM9)YpmsfhgW%hCH z9EHKgL-)j1y11N-kDOsMiCv-L>EYN%Vp;MIk`v+2S2CsTtl14(~rnqAH$qSjnqV%D@!vWJN$0&3hCjpfN?%a^i3Vq1an z^_%+!UhD4q5Wj{CcCHQ>OXK^f)kGAOkCp7#Y-FN>%>L}av#q}gdaG3ao*l1!9^^|xW={s3hn-ANhy{phuuz}_4GM-SI&{ zp^8L|m?E)W2F$AAmf{TSz=RBuXx$h#3?uJ~9V~Crygne{BUzOULl`(kv|<(OVDe$u zQbK^qE6SiBjv;|ZM1w`4XcwU>L{4iQ;h{q*Rp<%r&nmXU(z<0lz+{H~$?Tp5yJDW` z_3oV_LjZB=j5Mn_A#N;;2=+u}7{?~C%-lhS3`#c4CIU^jQ0R;Tjgx{{MvlAo!gfAf zOSF6KNxUqz9ID6a*O7X?M7(dP3u5$8sSgWe*xJf4?0(?<`1-4_zEV7{2{2duE;KmB zijFHoD>QZon-M3LY8NE}4WZ?e91hwO8@+$9DTpzAdKZcelFbdHQ4iO$lI@SGFz;@v+bi_?8YG(nxm}4#UAq-)Ttg9!BQgi?;@QKOMu|EQODYK{Hw8B2 z)m|hSNIWY+2P;SirL*(#R)p%g{@I}{LFzlj>4pSs`M7mo&WfLdy8(YmUBx$mFzhp8 zXYLf&A`rz^z)SSV@PW;48-bA0YiTx8#{Q_+2E)NtgDuY7xsVNMNfO?>UBQviipd(y zsP00JIYgZLl2@?KXe%x8MJ9x#B^`N0<4zowvjZ{w#AGmh(7ZMocx8kSsHbX&@bPqQ z6psYgh6C9pAcmwN!3T8t>?Mm`Z8t=BcSDQPl2ZuljACiYP9WX?z)M=Pkf2XqVWjg2 zEq+|1#3EF%g$1ZgAu3GeK@txVc`zKH_BisX*g^?#m8g*7!4q(k9Sr+9!AHS4LSfJN zn2#&5FV#JTgR@-P|1f*G_G7-Rj4$ND16KgkA%>0g+3N(tm`bWp;6zo*$wZ@SlTify z7vhMbb_kEZ!bZC`0yxNBh{7Ou9uEq6Fdd+_Ei&vD3WNeOCd3mfE!l{7cQHmyGm`W> zxw|_eG=sX|e)WpdyicNhbVi}3Mc{5#8GF5XZ2CeJTZog5^}D!iG2y!AznPz)T+= z&;Zx~Lho@gK+}O*VskCo5nBM1Fdit3W^O2e!YRlN4p91^F$n3d7FvNyP>SK3kKuuw zry>{$JX%zU&RDWB`XaKGMu_A_h=>$Iu6!XmP%^rxm;ox|Q5YuwQoK+CzTk;Trc7kc zL^)F;6pB!w8Pr!G1bDx%kboY2MFh0zYeRrbU(BwTnverTLz@y%GKrLI2ZRWQsU;91 zyC%}%bb{Cc$pr!_B{Ca2hMwGw(k{oDGH1HUx&qVJe_83`l z$9zDxcqF?Yr#LM3#8ZZSj~FL9xN(S2f*b1#%hirc#n_CO@V z{$Tuz%Uj3gU4^{xRd9CHf^y7~fb&t{k}p;`CTI_tRvshd2hPAOPGTnU)XTm$;B0&vuWt9K^qH6_D{`BsX# zB+d+>sC9%C*j#$?c!Z2YNe&O>_>jvn0CC@N#EJ(31;NCoIc?leMv!DvbJ^M>Z3myt z8z|v*3|aAplNB!s14i>Z2+Mj+hRl`ddd>}dMF9@710-0XjjwL;j+G>k#6B?&2K#5< z(+<|%7ifBtS1X;_Rx8H>EYL|n0u1IPpk(fvx^S^nLo7{Vn{lz6Zsha&kPLGO7o~e@ zobp>RY=5-O$QWH)%19)%KG8Wpnolf{{T1mT*4Pq`n!I58z&+?gyv4BjWt@?BHo~BQ zi*FuTsW4_%mu;1C3DFIZL^B5mB@rv$G2pyDgEqVOM()>LKU!?eIft=vCzt<>@p}#? zf|1}MC-n8_Q0cG)bK&kPka7NOnS!ka2jzvg;GBEP=yr4GN1XRqS&9L}a%7rhZ1Nk~ zwqkF77G#Rywlv)^u7pv59g~ZKTif|m6D*oz%#Rqv%f^tSz0e->$2QO31} zsSSTZ^QOebQfF#n)cj#KTg0)-*aKbA9psMukZtk}c`1nC8nt>EU{!8wVr_;~8N|)t z8WC_lBH$`~;_Oee&(HKx7{UdihiBMIcMK7jgaPNJI|K^dVPQoL4xcN8qC-kiwKDYT z^vioB7=0ysNV-ER-4O}z_bg$>bqProol{{E)858*)gF&R5N%L3q%peR1=`=FJ5TB= zdMiXHOk(NIBEDKP00-RW^^g! z6jA&GloZZTAZCS70po&*T1dc~xYR7{J!?FR5!fc=%v|f{6#SeDbC;jce=C!4bn>Ie zpHK})33;i})CEd}_rRImKSUe@?-Aq?UZbky2X{hM~k>-v@9bSAMFpkLFW zUx|TX^5SchY3bB8au_j>NVk$Zp5y}#k!o4NN^?!BFRf6u*la_`;T z8@C%!&wlQGkb75f@59{tDEF@9-p9H3N$!1`d!Oar=eYL;?)?MzzQnz+aPO;l*GuoI zQ|1o-E+hhLBkyIs>LSjHI3)&fMCJanNx+738yk`eu3 zi)!@Y9*pj=4-OThMe8Pd980fo;9JyiQo?Q)*=nV z;|SVfOxrkG-dI~3`9i@ZM~FL35c#K_=$gJ5v2MBqx(WI2eCTU%drP4i- zZIveeU!F;}R}aJP>zYe^0zG_j~kS(@l(X3WRAl$J zLa#{YW@A=JU2WW;-CX~wkZPJRy6bgPS0^{A8zuE2H_u$7MCDOkE27ydRYk3>CP!8D zlw6yX&fN}TRJxjertYMA{H!hTp}z}qmAl5fxk_CV-DFbNR5x1MSy6|UD4@L$8l)PRL54&@odT6NRY=_&NhYq>jmWa{ zkM9VfTjf`aI-mm4v#(Y3wTq}VFIkHKGDBXqf4wY%I!BeOG0gcVFN>me`KGaL3 zoQTpRBuh26m~TqVH%qUhDFqdddaXV($%-3oesm{xZ&rs*dhGyhxw8@#Wn4COKeeX`43h$j5jw|bl)_mRl5+`S5r{+w~ zPsFVuWnRW4bzaZJyn@_hO?ri;mm#+n~=|Ihvk7W3_YY=K)Wu*w2&Sl}ZIboiLh z?`eVEEU>=?j<>*K3tVe~2Q2Ws1=d-hWC>qiI}7Y>fkQ1Y%>rjy;FlJ-%L0#C;9U!J zSjyMuV}XnX^05@vk@zL?Yhr7i6!yN>??rOwP!!qkkgzu?u@K+b zfEU*9M9B9xeGqNopFdEl3UM6&c%BB3xEjQfJ1LfYfh3OTOe5hJpAVyjUm3nV0pPwb z@uvNNQb}caMD=l88$w$f%GTD|*4AH06I|H51&=%6OCno|twW$K<=}6dE0ju*M%hYJ z?IY$l86?@@O?v9t^KsMZ|Eo2j{V=$W&3plAKs*s{O5;hjN^M283Ve@hCGem)9=(glEgUR$x=<}rol&n7)#4-97@>y~ z8g;PsNOhn*;_WF9@WaEuSzVJF*IX_QeR@}#!yELwLaHE6)NvU_y~IOs0v)Vl8-}@N z$JLydBjHvewKWeL~$f z$RkDnrFoKEyCmBfp_G@YdU+%~;ri_ao;ZRh;7zQBCr*5Mr$9%_Db`ZHzAXo|WskPd zW-Quj)OTV1c(uWJwZ?d1+yw9O0SzZXoCR=l&;~`ri)Gr{{B9M+BIg}P6j6#+lZGl*;ucOhn=Vg*e4o z4qO75jAs+@GQgwFa18_aDZq~ISo48*1Dub?2>fHff8con+_O1F#p99mr>I20m=;)X zfe#0Cz`{!dcLjXd5~n=Cp8$@8_h~rrB*3$HQh{Fv>$U{!crBYC(U7t?%zZvo7ZpvJGDc*z-ho3Jk`L510KNhGw>sTFYp+Fm$#>=t9Tv(XS^xuJ|6D-)Q%M8-vxYN zC<;p$H33gI;2OYNkn=vk?*ev$`*%2SAHcuxYyvLnfxEJJs(@z#y8EJC;GTdx@Z1Hy z4=|Dj9l&D%Tfj2$P*Ic&u!%p~1Wxt{{qd{{;Vi5r1|MUCT9BAY_ zXIJh*ew=f{S4=ayBoE*mBBP8O7vdv4oH^mR)NXG%@r&b*!9aYsR;Q9~okz~RwarNG zfU8k@xrgFdVKAZurT`obV4=cMMFCF0iMtyI0#ksJ8_4D46kZ{%kn^A2k&E%!3*g?@ zjpMIyp4E@RaXnk!a8A(Z3SVQoO9|chW|vT|pp~r3758p&lhY$&_Hk*6Gnyjja$-On zIu_O1Q0;Idinw}}hBzBV*Avo`?g(%QS$}l3PSTRKs8aW|nZ{u+6k&PoX#|U&Q6eZy zX{GqZeBN?natSMrIViZZnZ@8@HeQYn6M!)*QuwSxCAfszw7 z+$RBdaa3e>?{e@B1}j3(=QYJGq05A7a)m_@r5_e-I$bH=j?$Y^xhYHc%qg!uX;_Jy zu>h5F8#I9Iksjo0T@dI*XjoAxo`o{2NSP4bGuyl_sMl0quR^-B@V+HPE`yVDggvz% zz&l(iR-$MjilQS&(cQi6K{xskg6LZEErHbs*;p2ec^SqL9E0vn@nCRmy=}nxV{?f> zf?!LnTl7^EYa;fRHd!yF-&uHKyzA19Yl|ehl zHC~Kv4R`$mmuqRu9TNp7++yR$AHLnnmi@Tp#5FMLt?w83J34#ndlQLP(lOMhjq?rU zY#Sdj%W%E9R>$>fpoERYRb!kp;rP(4QtWWuY@QCzkpt6mQ#@nH2Z4WS{Qgq#7itt9 zCRxLU8oA{{4S$=aH>kqgMs>C(5yRTD6LAT?T-&Kq{2k7%i4%nTd>Vt2#LLu1a=J}e zS9=@85JK3~gchSGC?$8e$mG$@lDJ5VS98>cOUU&P3?;5!wI!c6>0~(dLW``S990_o zev1kr@-ZX`VsD9Ck#zcRqE(fl>9 zYNG(P9TX7>91fZ{0jU)Ke$8xt1q{+;0?K!YbivdSdFF9>jv-+#YDJz(l82K%E{`z4 zjOjBCBZ8|jroFtV$ob30jP>IUddy+|{L*;}N)z!A8|QsPIK_QEz{za=w>+q7Tm4Xz zo6Q9n>a)gmEH~74+)$fx$f%HOQw`(X4ppaNj`QOzZ#2A~4Z~}_FU1eo)Kr}a|`ww7o$d`?#? zTu!x(IEc@<$mep0ag9O1eFQ%36<_Dk`#@tCbFuh_SUhGGhk_t+64CDXh8Jk-PdOA{+KL@!b11&w z6+7~%7f@Fo#fP6_Hy-r`+L5of7tn(jNHL|i3>Vz{8IPI{Dd1v9fPs3SM4%gJYa zgjw(UjE`Z((Faij3bkT(TX(MHOx}rkjEe{2UPwKBin9n#muLZ{r+>l!*k}}?R-Z}4NA?(SENkTX5^`3)yb*D@-j5) zsGO7u6m>>G(k#aaZ={u5(vnldbF$Mi#%c4CH5obC5EW7;JToU>{dxj!8k3a%d1`gE zIx8n{3I!hxiBZAfo{^lHF;yKgNu8~sE?8>LS8MnPZ2C#QVaXYmhz(qh!MW<}*P4hZ zpqlf&$;6*bO4eA~8J3|*k53*Klb4Z$u1%rNb9o}wnz$+X8g*7eZhS_T8f9C(R(6nD z6Q)f|Q|Cox1Gav$|$fU1Ib)Ndolmxy$Rd#9y>0F#9S)At_#Pp4XXLBnbC89)ja17lvzEoV&RcQ)^K!E4Yy8pkW{4izzC}k`^)_=Dy{U`q4kpuAagDeluGuN0t`27*2-w|&Qn~=ELlFIO4 zlm6x}Nd#vh{%~F#H3shp{HeV-+zT2^4MJFjcYomIx8LUeE8hEWt%QgDkS4)ngMTE3 zxCg91vRM>x_lELt8zLJwkop5=;+_z>iIj%>KJZs^d1xvS)Q8{+#H|VR1NSHJbrbF_ z<={R=E^bj|;}*prz$}y|zmb4>NR3C01d}0^+;p0ZxIAhCZWv+DihtqAn+b=KpuTN# z^C%y;l?Y9_D3O5@+)@8K>Ku#|HEJ4)TzSZ=1qGRJwI!osxK^P?K)*wywuW-FfmXm4@Cm^f8-;S? zxKe~;xkx3w8%L$1+}phBhPKHFq<{{B4@Lsc#kJdk0;aIbg@lpnFzi#x6=0u8{fDet~qG7S8@O9pLBZ*9)(} zkqG+H0d$ZhNEa>oZy`984&e#*f16+?IWKi`a-N!_7X2HWk%@hoEJiyvGb2A;oktf7 z+BN1YhFVlCkU}&B4#Hxb?JwV?b+FUYfA!!0Oyd z+b1;NG5o!$JaGnXw2Ji!X?fB$OMzCBHL?0i+%YTFK} z$3H^O@0mH~!4J>dO?c4T#c_A!oenz#u0;=CKTR^NX_)9p)t`Y)rP~8f$G&P>lod5G zud-vR;>sbr$kubtT$%anxe{sJdns3sOv<>h(=~G`DGHFrABwRAv6W%O#LbHPU`;P2Vnb z3`usgQPGi~N6_JZo#{?w7#*9+8io=3ZeA+$F=R0Eb7c4%*ExR8>1HIWxT&*$fWKd0 zudabXA#^|x?L}&AZ{tBXFKkxTd)4{@huc5wFmv}$Uw4jkiKh;)p*19fmrWKufzBu! zSEinmlCII@_V)FiJb7}DEbDaWk&=_;n>!&RCpX_WB`>pK9(3@hEi(ZaHx~f8*#KBS z9|*3%i_D20C{Gs^S($=6AzC`0o@foz!a3@HNdfwu|6im*Lpzb4Hx&rXHbR&?uWJ%f zG47_!criVwPn6A->ZG*mCuWzVO#H~?e(uLRM`K$#7k!#M=6kjG^3inMC~^Mt`OZyS z^c}Ko+WF9xve^82i+-GWA!$--?2c{`X(rimsi3&?hT0(qhhG~xBj2;lkhZfTTSwYY zsT;J=UUsl*;*fUR{Vw~aKYssU-<#R?=N25i=i8@qO9#cC&HKuPqaNK%aV?A5b=%Yb z<(HF-9ll(={?FT=_UXO9*+FJ;(RzUUV}J#`d)5tKjnYfAwM=Lg)DyuQa>V z*P%tm%5B2bwNrc6Jf1#8c{bAVQFObdom~P)olkT;R%W=8ayR6RON@Ah)>Ga6kjo0& ziZhccE@#?{OO3xi?>lYrj?%yrx{XEaoV-PO{bnYn4Q#UnH}bk%=&>woTiZjIk0sg6 zIJW7P^O`K>v0hygs|O0k2es^1(rRJohMC>772~^&=)dymgKY0lb}f3?=8$jqEgJ?f zmp1;^*LP;9C(3dUT%mL3xnR)b0Ln^VS-sDslQJn3@3Ftx0*y;y|CX#H`{a2{Q-xO&nxZvAn7 zLu%-vdH*fy97_n9+@hwP8}vYI4*sZqI3@yd5WpcNQ)o5moQsXDJTzH(`~v-GzaW1s zKmNVQ$`ir|14;1TZ>cO6zP;=S$+9EFvV+-pa!i}AhdjD4Bf0zemMiync)2W5d-_!S zEh`cp?k*Jd9G_Eo%<20*eL6+h*t$>n#^u+Uk>3W3@+b85Y3l6V%{Rn@S>OKy$;Kmb zNyk5=*BzUY(zbt%WU=qACChR;o2Oi!zbvFGVBN4bbY8Q6?3_BwJmP9lwYK*7w!BY= zR-D|~ZD-{tZG0zuTBGXS>QTsr{Tm$DXRH|2)N{}{`(EFcZRn^Txo6fldsQd&w&U6z zHGb5p4E?+(0Yy66&uMa-(m!5bTzr>M`^b5_VE7s!y})3=e{nv^zxDWw@xdcf1@#q)@EgtFJ3?CVDl?ehHTs5x=`@*+@9|b z`Fi4&bAy)5zkPYs9~*;m=h}yUm{9jae$d2buO_$*b>BWA@SsNgkFwCLC)s{YZbUvB zcxR`|*`z+XrhUoh(?&hG@iH~z%yzF6$FMWj$HVgf>oX9N?DF!qpH? zDQHJRfYgQ%JBOCmuRUTK_ae=&tF4@>yl~W|Gb=rg&_hWHFPp)1 zG(E6PRTeoX!a^UG)3?`YZjr|Sz>%s=;a5ti3n&Zdh%rPvbfZg#>ejrW9l14i>Gy|2{T@!6u*Pe|FPd(>Qn&6aTm1BofXLdX zqaU``KN|Mg&3>-yM#OlCLz{J0>{#zIs%Y)0{Uu=)M-H4TIdo*d(}$7!_RpL1e57RQ zx7~cN9bBBYuB+@sNohtzr+)eE{TGjKUu%AO#pB)?^Zp5ne8aF+Prl1iEf?Qj7qqc% zX7-%&2^%EiI&3aq@!{3=w$bv%9_+>uw^uaV-K0g4a?`NG-_HN`<7p>D=l?SGyNRRr zbUj>IJ-hwDUQH%{F~E1$dplEhD@WY>h(7h(bo-B*xOv6?*+#hN^Gla*EhvmMdweqM z+$!6NKmReQ<>ZAwbdm1MY;xqNlPv8|7vGr0mrp#Ob!+H7`^)R&wpMn@DEPT<%$|1U{lzwLPM$ix0Ue+|kPR(yYJ%J~Y>030_|){u!I`}$9O~s( zkoPKKL~2sN`#r85>3*l%rRNUC9ddSEaw_@a`VmcbmnHt6mAyLsoyUR;q2Ks#+q!aB zmN@*m*;(pW?7oODb~j*0Nf&+jZ?_8l?Jl#?#<#4fip+D%zSCah=TvX`V zcG*sTn4x8D3O(QQAvW@vt?5$eL*{M%J8gJ%c6V*QujSiCS>qXseV$D*c6VOk$NIEz z+S4=V8^>QKc9}Bc`Ps5fA_@q=-8zdA0)T$8a(5tmMwqty7zHKOpld|*B*N% zSUv z`at`uPsg8Gn_Irc-q1E9-GAV3FO%+n(t6>CN0RMd_8C!j?^y1^{To`XdZqe(|Ix~< z+GOL;*-b8Vytt;gNgZ9>M?sEOu5zk1Ip?ocXk9 zORpci7sTHd+K$w!Sjb1O>uSbC2NZO`QD0oy>bn)||b9B*}{}yZX z|6*6#k@m*2g$-=$`1IsVHM}Kpak7ZGLA_~3P|xlW0sbM~1C@bFKeBt~3|!9!1DBi& zcgHbnR<0~gokuPLl@+@v;Sc(gE*AaLV3P|v`DU-Xzi30t4a6oFbZRWq#3wZUzl8~w zo{5^aeka8-yaR|g!$bW1{X%HCe}Y0R4j?}a7Z?0rH%1Wgx6Sy*-lHdiUnjbKHfZ%g zgYW)vx}S5)0?u{5*{mw8{hbaI`!>D)n|f5-md9U~-CZ-i+P}rG%2(g}CfU5WT=4nxOwaPADdmUQX1aDhpPHKQJQrLtVwgnj+0JE{-_`0TrtOQzznUN#vS%=5 zld`gUzPnwI?HfAU9iOqW<=1QN4A(Y&Z0Pq@;--5-+wqFj%QaJ1dfi(6^n6{mcTkf( zF7staLdS{Q4h(vdsai3FDL-C5$}}!HY|&S3j{a)ulHeRnHJLa+=weY9#f_kTcIQ5s zv^2|Cvd`{#pYDZo$C|z~ck429OvV>|rY_rR_{V+q33;L?Ai`CPPBv7@Dxejn8I*B z;;W<+hUw=LDs8_QXISNWa=ZHUB;(avyEi^~5V^&9*vE=REnBzT_<2R7DDa@}^ZZYm zJ&c?%py`z2l5_*-DnZvUxnK&~?+zJE`i+_d^5nc8}8a$rvBL z?0M@RH+D;Zc5FL0car^i?GMuglX?u+Fa3Vo!l`i|?~{Izv@yu5On;;M`@R?H(TkG( zwyX_0P>ZS9_1o{QAeawYXDvuVdhdl`dy(^1HfTnB*ebQ{Li>^`%)=GfKNAcN@`f z--j{ZmVN!IVClni)YIR#PnmV(>zGI5x}I4*cgK>Dy0Rq>Uh5VLQj69)mDbdJ;(lY$ z#`A@-vbe&$&*gL4zWVV*7@Xk~q5MYhiq9e0z6hU&;3s^8S^sW62%3hj^Y;tr85Bg6 zUl1P*B*Fh-)%>qC)yCG&`zE`U_Lkj!(RA6L&t_$OJV6uh`ok9vRPpTR_ok;0>^A1; z;akavChdGbt?Q^d_qa|reqM@J?=5M4#=hzN>B;nnt+Z15AZcDne7Mu4=v~2*?P0$x z-t=QWJ*;E#x(Mg$-~Ws(I(^VP$$xlK|A)gP=lGYj(Ik&sG^Qwi>)FLoA5|Rra`d_6 zrrAEn-g`QyaPPI`7yTSM-k9sP2$SKqo}+D-dQ!=mLw&Pi9< zzCUi(pK0ZyrOKK2s|UW!zP0ki)(sD*c5(2l`)QEvq8;-jLB;~lEww97_qpS%+_V1C z&#C)A7gWgX7Z;pRkmrMDT~xeXaTrz6Za*-FU|gRQaY7$3u8boNuZ+Em@nX;XDuW z`r<-5u#G?dhAE#-bGDnlJoTsFfwSTp8(%#emerEpe&}f0@$uLGyi-@OzjDK89d16| zcW*-cFiF=T#mXkncgKBr>QPdY(n+V}a>XYDwAUEdde z(k@u`eTQ4AcOO4GI5TBL2kF!vA;TuEo%oe)sZ`&5Px5-VlPfQ~M6N76T77zb_5B&T zy6d46?XQj2EN>@C{%K20o1Fa*u2a|U_}P8Fxc6gqWP$O?2IlL>zvj(Mo{%$nW6{a= z_M1ZX-aU5ma`AV0r&~YTHCxc8@OdkJm-vuvqkgJ#PFOK@Zholb_VVt(8)^c2H0k_j zxo>=@wvVee4f@Gv*Vc_!mu_1hw)XhhmWt?_IZwN+T<4ZXU)ZbhA9yWg+Mg>*eOpzw z-8|y^Z+}+ySr#+#(wg%}6K-bwI;`T{uXOp#Q@5j^J0Bc9xc1XFErWgcogFUjao@Qt zCg`X8_MJR`*gi9;jbzVHJ+EFEv*1_FJXMo5#lrJ&z>-Z1UG!qj|ITg2+V=S3nYObP zcXbg7-xIl0+n4Mbl&SMP67`R6&sGXH%>Vk5S3p^jjxH+veCGe~n$_r(N-U;?V(Mmk z#38z!hqQhx*fS^~C~#zbL{FNJpeIAY@Qw)VJ8cAhzR*q%mI{db)B!J{uuX3voRM}M z?slEekg+U`Wa!zbxX{ms?pW{HARAd>nFCEe1Q&|z*2vaaalxFj#%cv5i;9Y<7M(Mf z9xg})H=m9*B#5u-Jidp zS7$#?@8NpC+c&c>{Ny!o)zjTV&mX^cyHTz7u#E14RDsafujqHW=nh@<8(p;DM%L;hbkXvEgQ@Ut#=)bu=4i!cm$Bu+J|p)W(ib@zPZr#d*mOU08UCntVYa*T_gUYpVD$u~__f0;No z^N)+pg;O_=8v6UfN>A5^9-fXL$4Nj4gSjJ;3Cne;l3SIhUVTQ zNOL;vr8@;_1N>I?w3BY+d;ym zDQBjv7`Zz1!w(8(tD?molbFSw&#wBm>4VaQ>`oiDp3BjXN~^5a$Ty69+9{=`|H3w-(ws;z4kcW}dfL2b3#7OU1^T+muY+nWD(?oC+KzSsBpzxVqupLg}<%zEa`nKNh3 zoS945$OV*uq9_NvRx3pn0g^|~{{G`1ZyrU}Z?UgFwafWj%OalUT+1Oz$y#Z8M%ws{ z*h$j3*woZCopfA+G((>%O-_|62SrLJrNt+7a&;B^+E72ee);C^qJ#78@4{KV=I=s$ z;j9xZ?0>;={vO2pU*OIE2Jmok4>o?d_yacoaIv2)z0>@iES>}Nm$CIPvgIyDY3CnC z{9=^O7N5+*h~&5=(&k_FFkD4Z@pD9!%I(}xdznhA6;+R4kD_`Yr9GE=wkx0;8coj39m`29qOb@$kZX>OM;w`O!`fPrPd>*sH9FA z@v*vCirOVYh8(XLZzsI99yvwPow#CDraLl7he#jZAQ~RNKw>YNBm^rCGCHJx7H&?7u5sR;1osu;)I_CcuBdwcxydUiu$=zhBhM(X)KQm z5g>gXh_}`wr>Kxl83`$AC^(&@Z^KLa5kVp~j~wM{V*huCx)dKhYkz3w7;PNxMjO+; zX=A2zs3J-+j5Z}Lqq84`LsV!+*cVbp2cVQn9#E`do~Qz>v`OPTIG{{X^c^~?%%9;a zrHxA8mgJ`$`SHgaoQR*^`AXkDq(Hd21q3&sSk0W*7-!0WEXZ6UAo#D*dBuA1;m7g8saMj)>5Ufbfu3E zMH{1i{m`%kjNvZQjjFFDdkhr_B^p&b7=wjPJCC%-Y+9HD(#vR*a7-VHLPyZLH~4IvS&0zK zDB1*As;c4|hejbhpXrF~Wk?oT=k`H2X1bNCq?yPnRr!)$BPG!4F&(p#^jzPKX3m)N zooz8c68n}gn=twZ6yg|7D%u!*5s8-imDT}ndJ!qD!C*0^G!rJL1J0V)v_cD}<-SBj z)XXS9HKUcOnGb{1%x%S3#hB5xwJ?#KpEs#d3Ou!+&WvVh{+O`YIFa!)7%DO=M-#@=rC<7$jVE^TZy za*0-t%<5cWP42{Zw^s{4`o!`qn3OaPkb+(^{w#LF5*bS;ZEYh(0sEYmM{@kWt}&5` zU~-MrP}B~d)#LXLgsq`&G$RZ`5^~xRU%Nno42*1V`5Bbsrh84N)12$6mS9qg?iLK}ftA)*cYF9J2Cb452! zB4G9SkR_dAi88EZbLqTOI!CKVHi)7PYe^1eCzTy2h(;Ua*~XQVklOO~lE_F9#<_EU zaIDPg@m)JYe=|2kp_H5fEG~5Lekm~P+S5!^y5}|h=FH6d&hTM0a{OXN`^ zW|r@{_Nx18m&c>1MC5TITdiJo|AR^Y1MU6i7+j-*PQA8b<>90X3#xUoCCG4?MWJ)r-`L*9Ej~;?SzfWu%~1U3-uB2eRPiKzuUmxs zb9oemauAeYI@@)fZxE53YOZnog5c(r>G&=A8b%?qxLMh#qk^HmdEzjJ3WGdaezof& z!-F70yswl}>?Mi;W3Mm`c7?w21Bj!3U|=E1ceLr zPDR8pvee7E#e06eY4M9|XvuIasCsV8hek%h7)bFgfiQ2*5H=O62J6S`2h+^Z?+iWodRnq4 zL!x52U8)UB!7=$r$Dk7GLMa-zi zTSP@37(E+RWW!^lY6(ZxV^H$~L@q@X1kOg(3DNazG%T%D_1F=XW~s{RNqGZEnoz_X zQF%eAFyQmwBUGp9JJ5`3cCbv}nvsk4%F!dRKzX!h$qbi$WVgVa?0G~o=(KS@VH{~6 z?10pxHB(p`he>6_)WU|zD>z-GcTP0!A%kFXPAr{E0z4ji4W6#LOM1;*&@e~MaR@R3 zg4HWY%MvRm`g?&n8T)8J&q$6Y@@S}5!o0! zW|UpMX_%X8OkTB7%dY$}YNm>2o`6;Lnvp&o!B7SfR)v`cTvVGPPpYx7sg0r6YKC|m zP#X^T<^wOKSJDiYF+&hv--9-VixLezTr#jSX?$sRAg6#Gm=Vos2G$okY7P^U@j-UM zHLC}W+}s;_^x$KnFG+rHtoUTkr4tRE35kz+!={kh?3L@4*6foQA=~J~eMR+H>{gHSh>;9AY5qDQxi@sTNP9FHp*q8+&842QFYOr1;knV?*JueAd91+iUdup;wKgTkd#m6 zgo*JcJV6o$fo&ZYIEi985H`lF(x6?5Qt3-9aA_Vdh%HN7J$`G=^()hZW}FN$vfl}y zWo{=7L|OBQJxN%=l)$2NgEi?5Ytk-KXRFtc6Rc{d%xhspU|}RP$oz=|p_-$MTMrka zEv$!xQrik)GmhTS^J?a$nt^R{-RkiRsz8o>Xy#jPo#)~%H1i!BKS5Ap7-d9k>X@Q* zb_pS)!VP5DnmJq34vj5_x6LMkd|n5a7B``&Ls^70SR{zAMI1`>6_;|2Hf4)gPKRBj zjoHL3(U?NP-J#`Zi3|(O7B{LPz(o=E-ey0m)e6e{08=tBfh*iVk?N`{jN7sr6qTi_ z%J<+sNHp#&Kq^d}1pwx|WNk&~Vo2wbh}Dt~X$`MtKiePJJUVn`m?DaZ>|Tg$F`<|d zwhjPb&AdM7puFJKp>&dA3fmA+resc-TYEqnO;d`H;-z9v1eBQ@AcaviEnvu!Dj8Os zD4DG))i9ynrl^IbstwC{=~R!?r7Ev1o*%l|f()ZXd8Aae-;3hOHAdA|qpB&pky9G= zKcSbM@wUZA$qVp1d5;UaW?B1*7Nqp<0mbqjujKjr*_M_T3yz?w;X@f~R}I~uW=_Hm zX-T>f)`!?{rJ#(6VlgV$Y;A5U#*D3IMzzhG1ded~X2lS8ZkcYF(v)CT3;r8Kr$_3A@Y$VG)j`K*`ol=`NS!@Y!4 zoJ=9BdI_ht%X_YCBiVi03@eOM2p)vw`^bRRB4nHn&hZWKX7uu3pzoio*eAhAQDyp=t0bi?>O!$`<+3QqQEgXsB|Y zDliSc$Q-fT7_5%~M(I2IdxLldUMfv-Jg(1@Lt+i{l=)r798)o84-|qwfVH^XLCGA|FlYEBA^8p;s0Gg~5`~}&IcmX^Fy<_pS4a-kw-~wm>{BsnUke*wlMbR>}KH%vAZ{rAZ9T(e6<_EMhfdjtQ@mRL2FE| z^B@VdQI5etif|TqWz)pMeaO+6gr#f&R$mKyl5CTQw=D@)NCVP};TT;l3j{5lePko4 z42y&|@-@Z~kvf>F-V3UYkn(VmRWY1V4DYFko+2>Tk|kBZDUE3`4TDuLR5M}=TnhyR znWcrsWE_t6VXf+*$+L?{3&C=k4(7fyYN>mk*56b!C3YDjT(-6u0b|O}y0cdGa2shf zBc>VHc)^23dRID__yxF4($PAGKWfs3mV{NvXL(f9&ze0u^NQ2=Fh;PY7AXrL5Q9-c zLK}yn32}ALX=4xCI89^?^@d{V8R~2BzBE6@^C{`QMOwS|Ouc^H?OtG3Nu1o%r8Z>8>Oo)RDtn*Md!LYn#MTvERoF3!b%~@9f9AyZaf~ZI2?>lakz4EY!IpoJYJdSi&xv#x$uIjc}=|7}7yigmLL7 zD`+lowxSOLMLb8gc=3LsGC@mmg&&eTHb7&N+|x)in1zzuZxHDCD}E%oACX|yYnWx} zphHHQB&*SsRVC)7iN$v*xb`)apbi>i> zn2sKZ>%uzz^7=KU>x~pYgPE`M>iwq`h4a2bCK@0pD=s4pBC-fUrx8}07LXmme&kUV z2f2j12wNVaMlPwb8j1UtAt`vQOe;R*j;&I~E~L@SAiq*x7H=6MbCkd2a^->i5Q^`coHth|GA)P}GbeHCrJ- z#KO`Tf#D=TI-EoTP6(tU068Th+HHX=92nXT-8Q zJm^>%%{(m)A@avILo*dcn>TIR6kt`nC@;CsH@QRzPAPkq=$sC7gcVWHLdu@SQ^bdz z2_O3gS-R4u6%Q~oq0w0np}8w2vy$lx)KORs&zP?QJB#&2q6|2VOU)?FEg&$}f{3Xm z$CimKCe`GgC4=YBZX#@(QFu>bL9`+s9M>OxDKFoSS*A;J5gVj+lhoa*dM4%fx?-&FLgDmaY zRH`ObMpE6`R90JZW&M!)Vh)*2-y$3uWMXTcmobo70zHMdyT04}*gmhQ{u(a)_` zi+xbxWS>k>yxUBd)%2&@rei|fhx)LZfbjCLK@1I*5jwcCM`CbAQ#VL(rW$kLPv@itVo%7DBYuMsqcl7=)a zHt?w-3hK+%%te^ymUB1^-o~q?H{P+=W91%BFphHQ5=^#@pio|5w!jC*`e4Ww<_^+m zcvB$r@SrA1DfAK2RCglRcC9vYAtRFg=LcTZX7A?~Z;@ZM{dc zx{R#u(0fVHd&C&9bYWAyYf@>F>cgfI`@mLKPEs9thD^XP=0#W@mZVH9Nkq_!AU2dL z_n`#NIm{KZ_Od5LDddDm2NetD&u-F3E27DcqE!QX_qqL}iopc^9%HO9+^$kQryMlQ zC0!#0Hf&*W;SMjZX#|((xRaXJm(+1b`!ntsMMCT&etq>T>E9qq# z!AVWPX*HyUY%?pa*K%25@ASYgj8R}kLV-)>Y!J^9j-q}w5|WrGX_1TWkQMJb-QkiX zXC->4HdKi+#yu}_(sh4c!qd4FIEdBOlljn)CA{Y)e4QkbK?Gn|b5dPWA=HO+0fEk)Mn27EiqzIq`bxE-+=(21IH{SVMq(MYNm8ryo7CB6(tiU5gW zGKj3qa`B}q_F<9{4ph_2_8&Z0pcb5D2Pl>dP&YC_^=RuU`xvp~LmMjiwZ@1YAEY@{ zkI_5E$54TloeVS>$9sExYBljU$44oyBAlp1!(@PPoIDt^tQ3QB?p!kpk;d3Sf0Z2` zV(``JFFQV!R_j!5d@vSdSgMDK8=sO|)NBCPs_zQ+>#9;jpF&PB4nWUAIv}+{o zBIsgAhz#Fg45Wsmj2j>k5*z%p@u^m7)q$GvqT%``(`>43ev8!b3VhQv_b2h+w;AIwFZ5E1AafGrCa(8dN3DR%BWBW@URegoTV zd42?&YRrx5`2llMDm?*}ILXHU2@8;0^6bL1qOOANW-`$psa=wMgh>Q zokKI1_P#(ltH)E=0X1#deR|Dqw};Ai#kGdhekc_Q9o>`|k5 zY<@5bTlOa)KGD!d0HiQuTzy%Zgl$;h`lu~Q6g~z>EESdmi1=0yH}n*4#wUovnK-g3 z%9uQklA>79yMuUgF7+wF$27as4&C=e{#q{I8tIl-%v5ILD30aBT{CgY&XWy6Bv3 zcxY2IHs4UeqhH_v?-gD0SV$X6c{C#+L*$5IF@{#rhNDp2k9m5mByXJKTiZ;4pN>Ok zZIf6XwvT@prJzE=A$xovl|bo`l1PoG)Kn^^MJyID4(VztzE(-DMi?%H4y~0MhH~*# zGU`OKHFcC8IBM`Ks1*E5qo(4LV;b-(PDB3^ zd>UG)T}z94{n%E(gwLy+(-U|3!St7Xg$kVPZcNAJDPnNA6 zHi93HpEdP3{@M9flm4%@SGyiZM+9^>;a@7bsE?=e-`-!skJ^3yYZ^%V8PL<@Ne|`t z&PMR_@8d_^@!`gyHcfT&?fjWVWpSh^Il2a5^@+!7r@@Ld4phhDon|K%kmF{pgnv^o zYj9n@*wIErDkEoiC_Vb>y-!qMjVv^IM$jd&c&N}G(V_U1CEC7zVfl)lnw%P+HdPy) z*)1?SDp{+GjYvpIh}9-UPuJ;U(*tBOeAF-wb>UT_u<)}l0Q>MA9Vn5b#L=+}U&a^X z>k&thqd3r!5_fS-=SxHs-;;8b#5++Eq)EEeOXoWXC?3)rfUrqNSIQCL7CL{bMZAn^ z5!jh(!D~;sS2iqngYuBd;Fkf>EMAlo2Rdmr!nj^(nUQvU^A)-&zq`W?vhUONc-gY znC~UF)vZr?#k-=u3+1)QEu7!1KIMcqn(69M&EmyWvmwq@vp^BmtV`ocuX2y#YX0Q_ z2cZpRS>C&I_}t?~l=~1T${qZ6@8Xu;1h>Q;P(~8ikdo{Wr8~tqvOEAO6ko#ev3hL0 zUD)yPj(4HFht#9I!87j&b~MuYE*u`0zyg|0cqvl+(I z2jkg0M^{|YK{Q$d8+ z8Lt>`J-jY>UGaM2C5N2kgp*uuAQugIJU)fvcFGa2h>v=Bar8+!;Pt?Zb6kY^6ght< zt{ULyk)u)M;~@w2e8f@7_HtFwMccZ9@aI7CAb|+vd-UkR@1nkm?qW(ab23%tcZv-sI>(Uqgb3lzdK9TE( z&kzC05tez4s85 zNdjyNZ-X3RU%)wdbp$`)H*lilB76YwPrQT%2i&=dz)NtZ00!dXP%+B%0#x9V({hAq zKuStc*ANZ@Y}=9x%K!)9C3tjzTWsN7fG({lstV=*0E}+U_5B)P2RKdqQ2r0VwJ`SF z5Z(fK8?O@K2Y{_Hw&@7J5BLi2HiW77De5#{HyV5fB%k~ce(C@(<1I%S-%b>@74I{I zivYjwjA|&q3(yNfl8Z1|1AF70hj2Ja3jjp85U?PSqK1<&U=iLJgo^=7@Wvy25%3b; zB!s=YQdA$jGZ3Z$^YIe=%K?w#CHTpAuD^G~I3n!OouVe--H5O#3-se9a-st~j+gN8 zEMR#Kmu?1JY~aGn0jK0)d{Jfw;3s%<5iSHQn1gxWzIj=@4+R7w+70*laGTLvm3K;#dx8hYBhCa50Wxau>d(A zMO0}T=Ah_sT9Vrw5jOA$m<$yzlH5WPcV@=P~+Lj9I5misNdPWIJa8q}ZP96YCk`0AF`x}4PMhTFCoZGqZSjanhull9mZBln|8Jx5ZnU8(R0>SduGsJ;z8 zg3JR*DQXSknJQzb%pznv!b%*7w|ewGWD~kKFVEDLjn6ot!`*;T8EuI1CKQu^6yFFg zvf@&9F?_lBrmGmuSnx&B0DSvdsg`WdCxWTR5oD+=;D*L1_g0+9BJ+V~c^?FZfWT6r z8|XU(>WL&2gI*WJD-~86*HbYf=ElHJ8^&{YelHlug5-jO@O;1h!57@CZ~F6X*U2$g z_HjLcZ1+Pf35N{l%uN=P+XA>mp?5kg#kFJ0Y)~#@`r$+Xw;A$I=^K;^Gs>;j8K8{i znkAezX))=Z>pDDFa5rrf-WDJBrj7lI4Y_Wk#K#J_Cj9gOku_Y$2^A@sbU#h-2m1F) zg;HQ#OfY^%`fCzuIBD`gvIc@#Q2|~M8klp04D*-hKl#4v0+J20MfD{)s}LeM*^3Su zBMw~#ptPwNcr>^ofg4?H>(BP1b$HmrQ3M~S$Ka#VB$`=F_>k3Kz*FOcjJc6X*@gK? zuu8ylYaaO?2lv@EIKCo061Pqx3gKeC3WY~!1({bQ+*H2 z{>^qezS%YlkOwKIa#xYX_lcDhW;Dv3HYY$ciuA7VqM z13)pk6;n(;5+dy4zE;y>5&lpb#%TR&f3*g^&IpCDUdRUzMfUw4(QQI?&tiR$#Gfwt z8MDXr)?qYO?+6`$lYQY8L=u%o*D{jG2#*thnJLBx1IXP?qAzgvDBOjR{S3VJnun$0 zrP*L5l`n(jnsdnt{%dmfJ{&f-{h9GGLUQaS7TZ%OYSt&%10gM_R@(PSD@WS9p8uXJ zaa{RNohu2cf$_;&Mcib4az;W#LTvo7jAUJcCM|9vMSaR6c{bcip-O-a)x)XktiV{`guBqW3-OiIguGyVyiqE1cLCC8>DPft)yNl4XE zD{Yvy2|6x;I>M$5i%qsAWU}!==?STInowm@o?LHI@F#U*b+&efCF_!g#EuWoNKQl7 zrcuY(GW`;Ck<+xggh@lwha^u*K;5Qw>JCiMh3FF#6EZY#z=x-$rBH=zKB52ZysdVe zO8oI6t{xT5QW+MRpbJY*O-{#Av_hxLNFJxxC1|n#we@m5&?jUl+0_a};LMxwT$zxO z@McaRhfkdvpG-Ozsf*R=wWzX@O-C~}ZmoPbo%n8?9cdeHs{5cwjjs-qzEYo7*AI(N zq5SK%8j%o}kUXU>2hf|RY@M2stSc-7IUEtTF4@_k%mAhg%9qQn>GB)-QCxmx!W)EY zL(?XurzGeSsDVm#WT(gxk?_1YM(9$8rY6VXNF@@?P8~laO_8ci=ECqE2$4^QuvX$; z{(uCV{70rIrxMYRh)vce3`tX_$5FWEh-twdzu0rBP6Uf09r73dMqBoF*7DV9iFW!T z5+>^tz*y=APn{O3om|5vs+>!Sz=R-7&D5zg(&1APgiQ*IO(&Ej#D~X@PtZoDC&VQu zP795VOG==qAMALv2^n0CR9%{OVn%98r-V%8uSAbR^y5R565=KjnHo&!4NXg*R)<>R z4;&Vs7?qHr#l#(&Iu55!-gAR{hbEgD$ zBpmF6ToGOe{39u3XJ~)O9)SmZI-C)b8!O|1EgAPq$jz8koFS&6;BvN%j0yzx!FU64 zs)&Bzd=cNg;EXm6=Z)z&WlY5><3PYks7;=cfEmag0*oXiMJ~CCGZkqW)I{8HkphPX z7~q?N^MF^~Ho5tt#cdfvQ#xuSqekjq;2eaU1Yn9nDRM%q2L&l_wI#(30MaV4xdZWW zcTHPSEN$9aZ3N(tuF2R}N(E4z*}nFm@E1r}p6J-}scb7Xy`2us=Abdc~M)JQ-)3jG*}_z=Y6P&XC0 z$lasyz(sggyB=vfgr$3stt~Rbggf>zCNXZb{t^B0?AU|@M;gwR^=Mc3PsaIQACn+< zOzO7r=E%HjT$Jb|4_qN<-1c78NG^Q9ka-H+BB$Ww=2r?}ZFzEb*hUKc?>%z(;(=k? z>hjfoYckiAuSr^4xi){D=nEuVD!VdKX{3b$5mgFezfZY`@r#qkLP&iUHTozC(MIvh> z;8BIrHO;epaM6eS8w7=`WhXjOp9%QejQA&OSqrCwdl%2yEgov<<1N0ra(?){HI3GG z?jB#5(|nRFN7zP|*~FO^}v7N@pCnaiwXl;@;}WFg&WAKId3-8N6ltiUqra@Vm#cqQSzwp0GWHpXXg67) z%%32W$wtbi)+MTeOhTFvH4=s4FOVjWk4?4H>D0(Y6{|~2l}5y-C&z33o6CGS@;&T# zOr$XQrlw^~)Jip)P>n~dGYF_4D-a^<{KTh#($x>IjdXe{RbaQzxe*-pr!X+ zr1JOOe;FQg)}d%+#=}9b=ce?zd}&$GmUBm+$M1J-wP(SjIbR-+`TVMWz23PU%GX%DmLB-pwfWgk z)_Xa+Z+>vJahv0#$BJ7ltC%V};2T!8{q^#+S23NMmCsDQ(z)wGH^-wNIs4OPR9Cfd zyMYf$<*m)(Z3Ra*%UXcf&00Hn%RIB(KcNK{57ETEJBGJDyQI^T6A5MUAIX}L0`(m{ z9o(H`rJp8WXUKA$JY9zWUC`?FOM9X}sD zKQN+s+(S?C_0Jj(oYQ^kcQd4d#A z+uq^dEqU30)w&j|x`_g|o;&pT;Go^#e$;FDAHKgXY-EYtf4lGajV|>~r>7}?TDN$Z zXn4D?le7D8rnc`JF|MO>@yeWCe@uCG<&!T1HtqdZJ1DpO<|o;c2RvO@ur}PkuwdY~ zlS=Z`NweE!TzUG{$vExnS;Mn_-I7c%R8*YvoiOiP_tWc@-ODRpEv_+d)zGl;sFobBavBK=&)W|6!A%0R?YP?<5h#Pr8X=S8o(-L*igc;Zy zv(5wmcCxkvji8aVc0M#EHYv%8WZR3KiZmiEO~QUDp3}H@nZNb8XbS zC$~R(bxGj(HDaG_W0Tj*w;$WHWB$cu>%LTs=yCbxl5cz6&;_mQe>SX5&WrwEL^ce1 z^s9Q(}zBhEMBHiv>KQYJ2zVqzJ6M?@yEvfhh6RT z%V?j-_h&6T*Tm6tU6S@!s|&Jo>lBmtv5KRXuugxM`oXqWuIgv z1sX*x6UiJM9iUt&Sv@i@B}C)#=CJD;H%Wyu+<39p(wN&nIGQY|I^2(UW!Za8MEu8b z@g0uV(YWJ&7q=WWJ2bVy_s&DYC;nFU@#H5fWkU(}77hbt8d?8By0CAJGRa8kG|4WA zWZ~|dJ~5f-(9ZbNL9 zUNVW^!y6mWdH>Ch+CZa2h}egj_Hykjug9-eH*x!^d`HPrOSFsdlb&5a@Ximrk#gAA zXgYcD+NuwOd-xV!{pr%L{hNI9e0|#V7TXqlxpNCIc;V&PJ@HRI7#1YhdVYG@Hw%9I z`eyK_S9kaNjGKCqEWjnynY9)0Dbk5+Xq>7qM$ zut9>r>D=QzWB9|qpL3;&U*Oh!^^OZ){E!osmbA(J=Mh6*Tkk)5e1B1TtC;NDZCV$v zIxA7{=(=h6(H=*ydoFR4hKl+auJIiyrmX|+2(f${;zUSH0^2je&wTK__%Z!P$ zC(c_jv})1ql~+f`jpD1ruN%&%B|iG$OkTylx05EbL(Gi>THULG*IsXuKiP3Uy|1C-d->`S zJ+6B=5BoGqw)odmv1c!e&Q5$VE@a^re(~dVmBt41r`pU!L07D={%@IibuAN5qOsZ# zJEgYWCjyTTlN_l-4sSOiJMgZqHp-lMh%WjU%(5I_yxqd$^HDddc@8gvQouzp4bBzv zc^7dhrNIFv#f~cp&K2UU3Pmb$AtfW7e9T2$38Y*cN^+l-B_l=8rjqip$RVG65f_&I zgR|OLNnIr{5$BB^H)$mtPABpk$>KMcN>J%RmpvFV|mEA_@7V z3@IT67E+tU6K(0-$90{sx>eiF9(7hL52|5@M$2}5>h!SrPiqbhbL}vmf3DVQ7dtY{ zcelFBivI1VH8Bi$*4$WfdZuh9x0p?l>108L-3kNebg^5;Z<+q~>1tC6YNgE%PIVCcN+eu!mRU$zJEaYf*9C5cAAVB$ywAO#8z|Nv9Cy94ZSSCF zerY`-oGTxskGni>z_xPj`bEW;Kk~oU`Sv8QMvjl}2zI+~{&jxnhRG{h{@{MvWAq}$ z_b(;cmp;|GzIUwt?55xRR`}$^R7XFLiffDS4)v_uFW&5PBbsiTcycWx_PM+C`>&66 z8c`Vg!}q^VS`%AQP;b(MhTaEX3>_jDEb1`v$lxPldh50;spZey#XXwdp5OcQ)(NH$ zZ(dVkwK;;-W|M8T;UBwnx1fKLOO$D?!>n0hW8Yxe|FA_&+!y+e?vHz{ zd(|o>|5X2`u}{Bt8@V7^}7E-$4B9tzw?nfX7>8Rt@ZeY_BCo4)~Lw3YZMG~;stxl6_LX`YG0D}VGUuI zB}b9nPk@wlvL5!?4@W^K+w6bKPoUMNbc{>acFagfPtzvra6XKpaNPZOjl%l!pI@UI zl0jrWBiNO}@W5t9HrqaK(Dho`@QALscRj7h>*JRJ<7Q5`Z zvg}-$yzqmYIB;xSZ6M88L^x zetc@i&g1(A#Q)@({PUbw?XLg0EN`Yf@x6e~%AuP!EvV?4E)G0&`RgH_K1!gzo!&+I zLCSkY%f1ZWeqd?ori$Ml^-Vmn)7-FX=O-(yy5Tv2pX$T6DCe6OouA1_{68+edAWgX zna=aX-HECxYnSlO1yIxJ=V^2NPepYIXmz!Uw_ACB-mcU6Wp_Mp-+TV^2e+JyS4;~H zojo*K_|;;!6YslDEM9p(^KRMHZ;QVFY}xF6nnfK}99);b{fDhbHD#ZCE;#Y^*rrNJ zKzEPZXRMv0E_<#UHFW%nHK%U`rnqSPfAitG-8(C~@-x#PP}9%+FgJTep9AGx6b9 z+a~*4F7%MQ^bK45fSKM+B-rc{_}W{Y^SZRupU#@me2rvL{qR#K=32V-xh6YmUH{_u zHRsZ_tzU165-zCh($dp-B0c}5@RONqOGAI)n|t#uUt=-kf-$@f0dJl(qN_vh#3qobd1 zeA0RA17oYF6TK6*muSEG?#Zyp=akj5k z)3I7jd26-mNpwdWhd@~uyFwE1szdlH*6vKN4mnhZ$VRJ-R3{s)Q-~bLyUS5*Th%C@ z1LFT(*Z!Z|d%bIsn`R$%EOL`%6aVHS7izDCMXtMjMfzJCn%c`-Hn+Ty6OkT;*v-ue zw4?gV#jSc{RE;O)?Ye)lti7vl&4TvM&1mffO=VfL_1U5`IsP37GaELvT=DCqlae>I zGrKM88~(wmJ$}9$f|~6f)oyFVg@_9Oew(ABKfLN%PqFjy1APl!(9<2!v1^tuJsN%| zXK(9E`+CgD_$nxKi+;41S71iJyd_bWEc?6VPCe`U#jg&HhkkkQ_Px#H&i&4GTyUhg z?3*PA#|+voEUVwU$(Qb<*3a=Dw{c^@ozH_e9Q*Bjv&<<=+Gy{z-+W>DlmQRN9vR?y zXF$4!GB*F?__PC>hQnTuz192xfAq%JzdHpDay>D6;a# zcd2#m?f_q({qWw|!5@c|&+?Y28_nM|WPGqH2#ij)S2jsmOt@Ti$be zRrt%a6NB#WnSEl<$$s@b^G2?|)NON{?gJ*pDVO=Tuqq79Z1d7YZ>#GAA9H@c>nBF| zefPZ0gfEV*@5j^Z@@-$`HEfUDOXa3pc?W}LhKxS`?X#o7mz-WjeYWdv+KO{ut?D0j zz&YvBh_VKqd&cx0^6QA4EnU_30^%<^NxmOAX6;8aChtva^~Fuuv<71qKRu^T|9<;V zdh;JAr}mq_rFCiFZ#Fzlkjyu)JzucK&}*scbJ-8aHVnD#U%p}2kHcSu44JS=bg0jL zsn3Iy@tao9bD49-=dpHOt0@g$$?LWM<)KISs7=FU%bs{yeHS;Myj=C+>7RN%F57Tt zZ)?G*iRHt_7+2@;C9)hoTs^j{56+JMIlMoxPE-*&nDReiF!0^payZu-_0cl#8sY^0 zHI%|{=u?v;^p~&~5rX^!;4|(j3m*BFNQ5qYJg;b^Vu7hRPW7|0(d`{p&H8tUgoD|~ zr@{1A#qna}rxQAze~|0>JAd%5mAB@26t`S`EBV5(hK-*4SDt!Kf840x=&^cQ7oB!_@BGlGzy0Vq%ccD_jdkh5A4heaD{2}doO^H0NZ~=V)2`lG6TLgP z*%{?{N7}Z>%DW4`>VC4(j~8_fEuYtG`m?p(ZNJF=`zpWKJo=+~G4CHb;TRPWJ#4jZ U9KEYW^RFs&$|kQSahH7l7jLDT6#xJL diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index 955248c4b..69496abd3 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -25,10 +25,10 @@ - + - + @@ -58,7 +58,7 @@ - + @@ -465,10 +465,10 @@ - + - + diff --git a/windows/TapDriver6/TapDriver6.vcxproj b/windows/TapDriver6/TapDriver6.vcxproj index cf6b1500a..7a5059d42 100644 --- a/windows/TapDriver6/TapDriver6.vcxproj +++ b/windows/TapDriver6/TapDriver6.vcxproj @@ -1,396 +1,405 @@ - - - - - Win8 Debug - Win32 - - - Win8 Release - Win32 - - - Win7 Debug - Win32 - - - Win7 Release - Win32 - - - Vista Debug - Win32 - - - Vista Release - Win32 - - - Win8 Debug - x64 - - - Win8 Release - x64 - - - Win7 Debug - x64 - - - Win7 Release - x64 - - - Vista Debug - x64 - - - Vista Release - x64 - - - - {43BA7584-D4DB-4F7C-90FC-E2B18A68A213} - {1bc93793-694f-48fe-9372-81e2b05556fd} - v4.5 - 11.0 - Win8 Debug - Win32 - - - TapDriver6 - $(VCTargetsPath11) - - - Driver - KMDF - - - - Windows8 - true - WindowsKernelModeDriver10.0 - - - Windows8 - false - WindowsKernelModeDriver10.0 - - - Windows7 - true - WindowsKernelModeDriver10.0 - - - Windows7 - false - WindowsKernelModeDriver10.0 - - - Vista - true - WindowsKernelModeDriver8.0 - - - Vista - false - 1 - 7 - WindowsKernelModeDriver8.0 - - - Windows8 - true - WindowsKernelModeDriver10.0 - - - Windows8 - false - WindowsKernelModeDriver10.0 - - - Windows7 - true - WindowsKernelModeDriver10.0 - - - Windows7 - false - WindowsKernelModeDriver10.0 - - - Vista - true - WindowsKernelModeDriver8.0 - - - Vista - false - 1 - 7 - WindowsKernelModeDriver8.0 - - - - - - - - - - zttap300 - - - DbgengKernelDebugger - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - zttap300 - - - - false - trace.h - false - false - false - false - false - false - false - false - false - false - false - false - false - Level1 - Level1 - Level1 - Level1 - Level1 - Level1 - Level1 - Level1 - Level1 - Level1 - Level1 - Level1 - Default - Default - Default - Default - Default - Default - Default - Default - Default - Default - Default - Default - - - C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies) - - - C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies) - - - C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies) - - - $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) - - - $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) - - - C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies) - - - C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies) - - - C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies) - - - C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies) - - - $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) - - - $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) - - - C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies) - - - 3.00.00.0 - false - false - - - 3.00.00.0 - false - false - - - 3.00.00.0 - false - false - - - 3.00.00.0 - true - true - - - zttap300.cat - - - - - false - false - - - - 3.00.00.0 - false - false - - - 3.00.00.0 - false - false - - - 3.00.00.0 - false - false - - - 3.00.00.0 - false - false - - - 3.00.00.0 - true - true - - - zttap300.cat - -v "3.00.00.0" %(AdditionalOptions) - - - 3.00.00.0 - true - true - -v "3.00.00.0" %(AdditionalOptions) - - - 3.00.00.0 - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - 3.00.00.0 - false - false - 3.00.00.0 - - - - - + + + + + Win8 Debug + Win32 + + + Win8 Release + Win32 + + + Win7 Debug + Win32 + + + Win7 Release + Win32 + + + Vista Debug + Win32 + + + Vista Release + Win32 + + + Win8 Debug + x64 + + + Win8 Release + x64 + + + Win7 Debug + x64 + + + Win7 Release + x64 + + + Vista Debug + x64 + + + Vista Release + x64 + + + + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213} + {1bc93793-694f-48fe-9372-81e2b05556fd} + v4.5 + 11.0 + Win8 Debug + Win32 + + + TapDriver6 + $(VCTargetsPath11) + 10.0.19041.0 + + + Driver + KMDF + + + + Windows8 + true + WindowsKernelModeDriver10.0 + + + Windows8 + false + WindowsKernelModeDriver10.0 + false + + + Windows7 + true + WindowsKernelModeDriver10.0 + + + Windows7 + false + WindowsKernelModeDriver10.0 + + + Vista + true + WindowsKernelModeDriver8.0 + + + Vista + false + 1 + 7 + WindowsKernelModeDriver8.0 + + + Windows8 + true + WindowsKernelModeDriver10.0 + + + Windows8 + false + WindowsKernelModeDriver10.0 + false + + + Windows7 + true + WindowsKernelModeDriver10.0 + + + Windows7 + false + WindowsKernelModeDriver10.0 + + + Vista + true + WindowsKernelModeDriver8.0 + + + Vista + false + 1 + 7 + WindowsKernelModeDriver8.0 + + + + + + + + + + zttap300 + + + DbgengKernelDebugger + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + zttap300 + + + + false + trace.h + false + false + false + false + false + false + false + false + false + false + false + false + false + Level1 + Level1 + Level1 + Level1 + Level1 + Level1 + Level1 + Level1 + Level1 + Level1 + Level1 + Level1 + Default + Default + Default + Default + Default + Default + Default + Default + Default + Default + Default + Default + false + false + false + false + false + false + + + C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies) + + + C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies) + + + C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies) + + + $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) + + + $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) + + + C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\ndis.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\ntstrsafe.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\wdmsec.lib;%(AdditionalDependencies) + + + C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies) + + + C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies) + + + C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies) + + + $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) + + + $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies) + + + C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x86\ndis.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x86\ntstrsafe.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x86\wdmsec.lib;%(AdditionalDependencies) + + + 3.00.00.0 + false + false + + + 3.00.00.0 + false + false + + + 3.00.00.0 + false + false + + + 3.00.00.0 + true + true + + + zttap300.cat + + + + + false + false + + + + 3.00.00.0 + false + false + + + 3.00.00.0 + false + false + + + 3.00.00.0 + false + false + + + 3.00.00.0 + false + false + + + 3.00.00.0 + true + true + + + zttap300.cat + -v "3.00.00.0" %(AdditionalOptions) + + + 3.00.00.0 + true + true + -v "3.00.00.0" %(AdditionalOptions) + + + 3.00.00.0 + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + 3.00.00.0 + false + false + 3.00.00.0 + + + + + \ No newline at end of file diff --git a/windows/TapDriver6/config.h b/windows/TapDriver6/config.h index 4d36c5a13..30ea62108 100644 --- a/windows/TapDriver6/config.h +++ b/windows/TapDriver6/config.h @@ -1,9 +1,9 @@ -#define PRODUCT_NAME "ZeroTier One Virtual Port" +#define PRODUCT_NAME "ZeroTier Virtual Port" #define PRODUCT_VERSION "3.0.0" #define PRODUCT_VERSION_RESOURCE 3,0,0,1 #define PRODUCT_TAP_WIN_COMPONENT_ID "zttap300" #define PRODUCT_TAP_WIN_MAJOR 3 #define PRODUCT_TAP_WIN_MINOR 0 -#define PRODUCT_TAP_WIN_PROVIDER "ZeroTier Networks" +#define PRODUCT_TAP_WIN_PROVIDER "ZeroTier" #define PRODUCT_TAP_WIN_DEVICE_DESCRIPTION PRODUCT_NAME -#define PRODUCT_TAP_WIN_RELDATE "04/25/2015" +#define PRODUCT_TAP_WIN_RELDATE "11/24/2020" diff --git a/windows/TapDriver6/tap.h b/windows/TapDriver6/tap.h index 079b279f3..76df77980 100644 --- a/windows/TapDriver6/tap.h +++ b/windows/TapDriver6/tap.h @@ -63,7 +63,7 @@ // Duplicates the functionality of OpenVPN's // --allow-nonadmin directive. //======================================================== -#define ENABLE_NONADMIN 1 +#define ENABLE_NONADMIN 0 // // The driver has exactly one instance of the TAP_GLOBAL structure. NDIS keeps diff --git a/windows/TapDriver6/zttap300.inf b/windows/TapDriver6/zttap300.inf index f901b130d..303dfb68d 100644 --- a/windows/TapDriver6/zttap300.inf +++ b/windows/TapDriver6/zttap300.inf @@ -30,11 +30,11 @@ CatalogFile = zttap300.cat ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} Provider = %Provider% Class = Net -DriverVer=04/25/2015,3.00.00.0 +DriverVer=11/24/2020,3.00.00.1 [Strings] -DeviceDescription = "ZeroTier One Virtual Port" -Provider = "ZeroTier Networks LLC" ; We're ZeroTier, Inc. now but kernel mode certs are $300+ so fuqdat. +DeviceDescription = "ZeroTier Virtual Port" +Provider = "ZeroTier" ; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back! [Manufacturer] diff --git a/windows/ZeroTierOne.sln b/windows/ZeroTierOne.sln index 0893c477b..2798dc294 100644 --- a/windows/ZeroTierOne.sln +++ b/windows/ZeroTierOne.sln @@ -17,56 +17,84 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CD_ROM|Any CPU = CD_ROM|Any CPU + CD_ROM|ARM = CD_ROM|ARM + CD_ROM|ARM64 = CD_ROM|ARM64 CD_ROM|Mixed Platforms = CD_ROM|Mixed Platforms CD_ROM|Win32 = CD_ROM|Win32 CD_ROM|x64 = CD_ROM|x64 Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 Debug|Mixed Platforms = Debug|Mixed Platforms Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 DVD-5|Any CPU = DVD-5|Any CPU + DVD-5|ARM = DVD-5|ARM + DVD-5|ARM64 = DVD-5|ARM64 DVD-5|Mixed Platforms = DVD-5|Mixed Platforms DVD-5|Win32 = DVD-5|Win32 DVD-5|x64 = DVD-5|x64 Profile|Any CPU = Profile|Any CPU + Profile|ARM = Profile|ARM + Profile|ARM64 = Profile|ARM64 Profile|Mixed Platforms = Profile|Mixed Platforms Profile|Win32 = Profile|Win32 Profile|x64 = Profile|x64 Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 Release|Mixed Platforms = Release|Mixed Platforms Release|Win32 = Release|Win32 Release|x64 = Release|x64 SingleImage|Any CPU = SingleImage|Any CPU + SingleImage|ARM = SingleImage|ARM + SingleImage|ARM64 = SingleImage|ARM64 SingleImage|Mixed Platforms = SingleImage|Mixed Platforms SingleImage|Win32 = SingleImage|Win32 SingleImage|x64 = SingleImage|x64 Vista Debug|Any CPU = Vista Debug|Any CPU + Vista Debug|ARM = Vista Debug|ARM + Vista Debug|ARM64 = Vista Debug|ARM64 Vista Debug|Mixed Platforms = Vista Debug|Mixed Platforms Vista Debug|Win32 = Vista Debug|Win32 Vista Debug|x64 = Vista Debug|x64 Vista Release|Any CPU = Vista Release|Any CPU + Vista Release|ARM = Vista Release|ARM + Vista Release|ARM64 = Vista Release|ARM64 Vista Release|Mixed Platforms = Vista Release|Mixed Platforms Vista Release|Win32 = Vista Release|Win32 Vista Release|x64 = Vista Release|x64 Win7 Debug|Any CPU = Win7 Debug|Any CPU + Win7 Debug|ARM = Win7 Debug|ARM + Win7 Debug|ARM64 = Win7 Debug|ARM64 Win7 Debug|Mixed Platforms = Win7 Debug|Mixed Platforms Win7 Debug|Win32 = Win7 Debug|Win32 Win7 Debug|x64 = Win7 Debug|x64 Win7 Release|Any CPU = Win7 Release|Any CPU + Win7 Release|ARM = Win7 Release|ARM + Win7 Release|ARM64 = Win7 Release|ARM64 Win7 Release|Mixed Platforms = Win7 Release|Mixed Platforms Win7 Release|Win32 = Win7 Release|Win32 Win7 Release|x64 = Win7 Release|x64 Win8 Debug|Any CPU = Win8 Debug|Any CPU + Win8 Debug|ARM = Win8 Debug|ARM + Win8 Debug|ARM64 = Win8 Debug|ARM64 Win8 Debug|Mixed Platforms = Win8 Debug|Mixed Platforms Win8 Debug|Win32 = Win8 Debug|Win32 Win8 Debug|x64 = Win8 Debug|x64 Win8 Release|Any CPU = Win8 Release|Any CPU + Win8 Release|ARM = Win8 Release|ARM + Win8 Release|ARM64 = Win8 Release|ARM64 Win8 Release|Mixed Platforms = Win8 Release|Mixed Platforms Win8 Release|Win32 = Win8 Release|Win32 Win8 Release|x64 = Win8 Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|Any CPU.ActiveCfg = Release|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|Mixed Platforms.Deploy.0 = Release|Win32 @@ -77,6 +105,8 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|x64.Build.0 = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.CD_ROM|x64.Deploy.0 = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|ARM.ActiveCfg = Debug|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|ARM64.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|Mixed Platforms.Deploy.0 = Debug|Win32 @@ -86,6 +116,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|x64.ActiveCfg = Debug|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Debug|x64.Build.0 = Debug|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|Any CPU.ActiveCfg = Debug|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|Mixed Platforms.Deploy.0 = Debug|Win32 @@ -96,6 +130,8 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|x64.Build.0 = Debug|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.DVD-5|x64.Deploy.0 = Debug|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|Any CPU.ActiveCfg = Profile|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|ARM.ActiveCfg = Profile|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|ARM64.ActiveCfg = Profile|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|Mixed Platforms.ActiveCfg = Profile|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|Mixed Platforms.Build.0 = Profile|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|Win32.ActiveCfg = Profile|Win32 @@ -103,6 +139,8 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|x64.ActiveCfg = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Profile|x64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|Any CPU.ActiveCfg = Release|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|ARM.ActiveCfg = Release|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|ARM64.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|Mixed Platforms.Build.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|Mixed Platforms.Deploy.0 = Release|Win32 @@ -112,6 +150,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|x64.ActiveCfg = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Release|x64.Build.0 = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|Any CPU.ActiveCfg = Release|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|Mixed Platforms.Build.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|Mixed Platforms.Deploy.0 = Release|Win32 @@ -122,6 +164,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|x64.Build.0 = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.SingleImage|x64.Deploy.0 = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|Any CPU.ActiveCfg = Debug|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|Mixed Platforms.Build.0 = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|Mixed Platforms.Deploy.0 = Debug|Win32 @@ -130,6 +176,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|Win32.Deploy.0 = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Debug|x64.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|Any CPU.ActiveCfg = Release|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|Mixed Platforms.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|Mixed Platforms.Build.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|Mixed Platforms.Deploy.0 = Release|Win32 @@ -138,6 +188,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|Win32.Deploy.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Vista Release|x64.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|Any CPU.ActiveCfg = Debug|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|Mixed Platforms.Build.0 = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|Mixed Platforms.Deploy.0 = Debug|Win32 @@ -147,6 +201,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|x64.ActiveCfg = Debug|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Debug|x64.Build.0 = Debug|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|Any CPU.ActiveCfg = Release|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|Mixed Platforms.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|Mixed Platforms.Build.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|Mixed Platforms.Deploy.0 = Release|Win32 @@ -156,6 +214,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|x64.ActiveCfg = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win7 Release|x64.Build.0 = Release|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|Any CPU.ActiveCfg = Debug|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|Mixed Platforms.Build.0 = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|Mixed Platforms.Deploy.0 = Debug|Win32 @@ -164,6 +226,10 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|Win32.Deploy.0 = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Debug|x64.ActiveCfg = Debug|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|Any CPU.ActiveCfg = Release|Win32 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|ARM.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|ARM.Build.0 = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|ARM64.ActiveCfg = Profile|x64 + {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|ARM64.Build.0 = Profile|x64 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|Mixed Platforms.ActiveCfg = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|Mixed Platforms.Build.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|Mixed Platforms.Deploy.0 = Release|Win32 @@ -172,6 +238,12 @@ Global {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|Win32.Deploy.0 = Release|Win32 {B00A4957-5977-4AC1-9EF4-571DC27EADA2}.Win8 Release|x64.ActiveCfg = Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|Any CPU.ActiveCfg = Win8 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|ARM.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|ARM.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|ARM.Deploy.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|ARM64.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|ARM64.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|ARM64.Deploy.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|Mixed Platforms.ActiveCfg = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|Mixed Platforms.Build.0 = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|Mixed Platforms.Deploy.0 = Win8 Release|Win32 @@ -182,6 +254,12 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|x64.Build.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.CD_ROM|x64.Deploy.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|Any CPU.ActiveCfg = Win7 Debug|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|ARM.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|ARM.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|ARM.Deploy.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|ARM64.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|ARM64.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|ARM64.Deploy.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|Mixed Platforms.ActiveCfg = Win7 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|Mixed Platforms.Build.0 = Win7 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|Mixed Platforms.Deploy.0 = Win7 Debug|Win32 @@ -192,6 +270,12 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|x64.Build.0 = Win7 Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Debug|x64.Deploy.0 = Win7 Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|Any CPU.ActiveCfg = Win8 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|ARM.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|ARM.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|ARM.Deploy.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|ARM64.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|ARM64.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|ARM64.Deploy.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|Mixed Platforms.ActiveCfg = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|Mixed Platforms.Build.0 = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|Mixed Platforms.Deploy.0 = Win8 Release|Win32 @@ -202,10 +286,22 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|x64.Build.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.DVD-5|x64.Deploy.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|Any CPU.ActiveCfg = Win8 Debug|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|ARM.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|ARM.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|ARM.Deploy.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|ARM64.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|ARM64.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|ARM64.Deploy.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|Mixed Platforms.ActiveCfg = Win8 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|Win32.ActiveCfg = Win8 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Profile|x64.ActiveCfg = Win8 Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|Any CPU.ActiveCfg = Win8 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM.Deploy.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.Deploy.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|Mixed Platforms.ActiveCfg = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|Mixed Platforms.Build.0 = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|Mixed Platforms.Deploy.0 = Win8 Release|Win32 @@ -216,6 +312,12 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|x64.Build.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|x64.Deploy.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|Any CPU.ActiveCfg = Win8 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|ARM.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|ARM.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|ARM.Deploy.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|ARM64.ActiveCfg = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|ARM64.Build.0 = Win7 Release|x64 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|ARM64.Deploy.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|Mixed Platforms.ActiveCfg = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|Mixed Platforms.Build.0 = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|Mixed Platforms.Deploy.0 = Win8 Release|Win32 @@ -226,6 +328,8 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|x64.Build.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.SingleImage|x64.Deploy.0 = Win8 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|Any CPU.ActiveCfg = Vista Debug|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|ARM.ActiveCfg = Vista Debug|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|ARM64.ActiveCfg = Vista Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|Mixed Platforms.ActiveCfg = Vista Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|Mixed Platforms.Build.0 = Vista Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|Mixed Platforms.Deploy.0 = Vista Debug|Win32 @@ -236,6 +340,8 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|x64.Build.0 = Vista Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Debug|x64.Deploy.0 = Vista Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|Any CPU.ActiveCfg = Vista Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|ARM.ActiveCfg = Vista Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|ARM64.ActiveCfg = Vista Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|Mixed Platforms.ActiveCfg = Vista Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|Mixed Platforms.Build.0 = Vista Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|Mixed Platforms.Deploy.0 = Vista Release|Win32 @@ -246,6 +352,8 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|x64.Build.0 = Vista Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Vista Release|x64.Deploy.0 = Vista Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|ARM.ActiveCfg = Win7 Debug|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|Mixed Platforms.ActiveCfg = Win7 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|Mixed Platforms.Build.0 = Win7 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|Mixed Platforms.Deploy.0 = Win7 Debug|Win32 @@ -256,6 +364,8 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Debug|x64.Deploy.0 = Win7 Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|ARM.ActiveCfg = Win7 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|Mixed Platforms.ActiveCfg = Win7 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|Mixed Platforms.Build.0 = Win7 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|Mixed Platforms.Deploy.0 = Win7 Release|Win32 @@ -266,6 +376,8 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|x64.Build.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win7 Release|x64.Deploy.0 = Win7 Release|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|Any CPU.ActiveCfg = Win8 Debug|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|ARM.ActiveCfg = Win8 Debug|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|Mixed Platforms.ActiveCfg = Win8 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|Mixed Platforms.Build.0 = Win8 Debug|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|Mixed Platforms.Deploy.0 = Win8 Debug|Win32 @@ -276,6 +388,8 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Debug|x64.Deploy.0 = Win8 Debug|x64 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|Any CPU.ActiveCfg = Win8 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|ARM.ActiveCfg = Win8 Release|Win32 + {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|Mixed Platforms.ActiveCfg = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|Mixed Platforms.Build.0 = Win8 Release|Win32 {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|Mixed Platforms.Deploy.0 = Win8 Release|Win32 @@ -287,24 +401,40 @@ Global {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Win8 Release|x64.Deploy.0 = Win8 Release|x64 {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|Win32.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.CD_ROM|x64.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|Win32.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Debug|x64.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|Win32.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.DVD-5|x64.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|Any CPU.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|Any CPU.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|Mixed Platforms.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|Mixed Platforms.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|Win32.ActiveCfg = Debug|Any CPU @@ -313,30 +443,50 @@ Global {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Profile|x64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|Any CPU.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|Any CPU.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|ARM.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|ARM.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|ARM64.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|ARM64.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|Win32.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Release|x64.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|Win32.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.SingleImage|x64.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|Any CPU.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|Any CPU.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|Mixed Platforms.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|Win32.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Debug|x64.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|Any CPU.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|Any CPU.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|ARM.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|ARM.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|ARM64.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|ARM64.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|Mixed Platforms.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|Mixed Platforms.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|Win32.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Vista Release|x64.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|Any CPU.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|Any CPU.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|Mixed Platforms.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|Win32.ActiveCfg = Debug|Any CPU @@ -344,6 +494,10 @@ Global {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Debug|x64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|Any CPU.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|Any CPU.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|ARM.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|ARM.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|ARM64.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|ARM64.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|Mixed Platforms.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|Mixed Platforms.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|Win32.ActiveCfg = Release|Any CPU @@ -351,18 +505,30 @@ Global {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win7 Release|x64.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|Any CPU.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|Any CPU.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|ARM.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|ARM.Build.0 = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|ARM64.ActiveCfg = Debug|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|ARM64.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|Mixed Platforms.Build.0 = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|Win32.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Debug|x64.ActiveCfg = Debug|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|Any CPU.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|Any CPU.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|ARM.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|ARM.Build.0 = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|ARM64.ActiveCfg = Release|Any CPU + {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|ARM64.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|Mixed Platforms.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|Mixed Platforms.Build.0 = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|Win32.ActiveCfg = Release|Any CPU {4CCA6B98-5E64-45BF-AC34-19B3E2570DB1}.Win8 Release|x64.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|Win32.ActiveCfg = Release|Any CPU @@ -371,6 +537,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.CD_ROM|x64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|Win32.ActiveCfg = Debug|Any CPU @@ -379,6 +549,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Debug|x64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|Win32.ActiveCfg = Debug|Any CPU @@ -387,6 +561,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.DVD-5|x64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|Any CPU.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|Any CPU.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|Mixed Platforms.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|Mixed Platforms.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|Win32.ActiveCfg = Debug|Any CPU @@ -395,6 +573,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Profile|x64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|Any CPU.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|Any CPU.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|ARM.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|ARM.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|ARM64.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|ARM64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|Mixed Platforms.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|Win32.ActiveCfg = Release|Any CPU @@ -403,6 +585,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Release|x64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|Win32.ActiveCfg = Release|Any CPU @@ -411,6 +597,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.SingleImage|x64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|Any CPU.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|Any CPU.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|Mixed Platforms.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|Win32.ActiveCfg = Debug|Any CPU @@ -419,6 +609,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Debug|x64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|Any CPU.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|Any CPU.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|ARM.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|ARM.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|ARM64.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|ARM64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|Mixed Platforms.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|Mixed Platforms.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|Win32.ActiveCfg = Release|Any CPU @@ -427,6 +621,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Vista Release|x64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|Any CPU.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|Any CPU.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|Mixed Platforms.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|Win32.ActiveCfg = Debug|Any CPU @@ -435,6 +633,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Debug|x64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|Any CPU.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|Any CPU.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|ARM.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|ARM.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|ARM64.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|ARM64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|Mixed Platforms.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|Mixed Platforms.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|Win32.ActiveCfg = Release|Any CPU @@ -443,6 +645,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win7 Release|x64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|Any CPU.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|Any CPU.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|ARM.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|ARM.Build.0 = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|ARM64.ActiveCfg = Debug|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|ARM64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|Mixed Platforms.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|Win32.ActiveCfg = Debug|Any CPU @@ -451,6 +657,10 @@ Global {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Debug|x64.Build.0 = Debug|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|Any CPU.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|Any CPU.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|ARM.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|ARM.Build.0 = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|ARM64.ActiveCfg = Release|Any CPU + {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|ARM64.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|Mixed Platforms.ActiveCfg = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|Mixed Platforms.Build.0 = Release|Any CPU {6D27214A-087B-4484-B898-AD2A13FA3B9E}.Win8 Release|Win32.ActiveCfg = Release|Any CPU