diff --git a/README.md b/README.md
index cf0e9ac53..d86a968c3 100644
--- a/README.md
+++ b/README.md
@@ -18,12 +18,24 @@ For a description of our design decisions, see
## Setup
+### Linux, Mac, and other Unix-based systems
+
1. sudo apt-get update
2. sudo apt-get install git
3. git clone https://github.com/amplab/ray.git
4. cd ray
5. ./setup.sh
+### Windows
+
+**Note:** A batch file is provided that clones any missing third-party libraries and applies patches to them.
+Do not attempt to open the solution before the batch file applies the patches; otherwise, if the projects have been modified, the patches may be rejected, and you may be forced to revert your changes before re-running the batch file.
+
+1. Install Microsoft Visual Studio 2015
+2. Install Git
+3. git clone https://github.com/amplab/ray.git
+4. ray\thirdparty\download_thirdparty.bat
+
## Installing Ray on a cluster
These instructions work on EC2, but they may require some modifications to run
diff --git a/Ray.sln b/Ray.sln
new file mode 100644
index 000000000..4248f5fe4
--- /dev/null
+++ b/Ray.sln
@@ -0,0 +1,229 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25123.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ray", "vsprojects\Ray.vcxproj", "{C002F9F6-8447-4B95-AA18-FB781F4A7865}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Scheduler", "vsprojects\Scheduler.vcxproj", "{D4F50B21-7FDE-41CE-87F5-2CF71178EF40}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865} = {C002F9F6-8447-4B95-AA18-FB781F4A7865}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ObjStore", "vsprojects\ObjStore.vcxproj", "{DDFCEC30-7024-421A-979A-B1BF69CF464E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865} = {C002F9F6-8447-4B95-AA18-FB781F4A7865}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raylib", "vsprojects\RayLib.vcxproj", "{76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865} = {C002F9F6-8447-4B95-AA18-FB781F4A7865}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr", "thirdparty\grpc\vsprojects\vcxproj\gpr\gpr.vcxproj", "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}"
+ ProjectSection(myProperties) = preProject
+ lib = "True"
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "thirdparty\grpc\vsprojects\vcxproj\grpc\grpc.vcxproj", "{29D16885-7228-4C31-81ED-5F9187C7F2A9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
+ EndProjectSection
+ ProjectSection(myProperties) = preProject
+ lib = "True"
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++", "thirdparty\grpc\vsprojects\vcxproj\grpc++\grpc++.vcxproj", "{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9}
+ EndProjectSection
+ ProjectSection(myProperties) = preProject
+ lib = "True"
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "z", "thirdparty\grpc\vsprojects\vcxproj\z\z.vcxproj", "{FBADE9E3-6A3F-36D3-D676-C1B808451DD7}"
+ ProjectSection(myProperties) = preProject
+ lib = "True"
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GRPC", "GRPC", "{42700964-831F-4B47-B556-75CBCCA48D8E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Arrow", "Arrow", "{C9B26FA8-8665-4806-872F-347ACB231CAD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "arrow", "thirdparty\arrow\vsprojects\Arrow.vcxproj", "{10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flatc", "thirdparty\arrow\cpp\thirdparty\flatbuffers\build_ide\VS2010\flatc.vcxproj", "{5B5857E1-64E2-4CED-A12E-45E1B3880496}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Flat Buffers", "Flat Buffers", "{ACA43A22-BCCD-487F-B92F-8EB0D6FF1DA4}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "protobuf", "protobuf", "{B60F9088-C9BD-4D2B-ADE7-2FE1F993FE06}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GRPC ProtoC Plugins", "GRPC ProtoC Plugins", "{27D6F599-4536-4C67-85E5-3B1FD6A1D5A9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_plugin_support", "thirdparty\grpc\vsprojects\vcxproj\grpc_plugin_support\grpc_plugin_support.vcxproj", "{B6E81D84-2ACB-41B8-8781-493A944C7817}"
+ ProjectSection(myProperties) = preProject
+ lib = "True"
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_cpp_plugin", "thirdparty\grpc\vsprojects\vcxproj\grpc_cpp_plugin\grpc_cpp_plugin.vcxproj", "{7E51A25F-AC59-488F-906C-C60FAAE706AA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817}
+ EndProjectSection
+ ProjectSection(myProperties) = preProject
+ lib = "False"
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc", "thirdparty\grpc\third_party\protobuf\vsprojects\protoc.vcxproj", "{DB653289-E887-4B13-AC08-EE3EAC1F34C9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotobuf", "thirdparty\grpc\third_party\protobuf\vsprojects\libprotobuf.vcxproj", "{07ABD431-1515-4140-932E-E8C150FF7D1A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotoc", "thirdparty\grpc\third_party\protobuf\vsprojects\libprotoc.vcxproj", "{2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Debug|Win32.Build.0 = Debug|Win32
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Debug|x64.ActiveCfg = Debug|x64
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Debug|x64.Build.0 = Debug|x64
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Release|Win32.ActiveCfg = Release|Win32
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Release|Win32.Build.0 = Release|Win32
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Release|x64.ActiveCfg = Release|x64
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}.Release|x64.Build.0 = Release|x64
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Debug|Win32.Build.0 = Debug|Win32
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Debug|x64.ActiveCfg = Debug|x64
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Debug|x64.Build.0 = Debug|x64
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Release|Win32.ActiveCfg = Release|Win32
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Release|Win32.Build.0 = Release|Win32
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Release|x64.ActiveCfg = Release|x64
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}.Release|x64.Build.0 = Release|x64
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Debug|Win32.Build.0 = Debug|Win32
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Debug|x64.ActiveCfg = Debug|x64
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Debug|x64.Build.0 = Debug|x64
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Release|Win32.ActiveCfg = Release|Win32
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Release|Win32.Build.0 = Release|Win32
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Release|x64.ActiveCfg = Release|x64
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Release|x64.Build.0 = Release|x64
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|Win32.Build.0 = Debug|Win32
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|x64.ActiveCfg = Debug|x64
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|x64.Build.0 = Debug|x64
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|Win32.ActiveCfg = Release|Win32
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|Win32.Build.0 = Release|Win32
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|x64.ActiveCfg = Release|x64
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|x64.Build.0 = Release|x64
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.Build.0 = Debug|Win32
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|x64.ActiveCfg = Debug|x64
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|x64.Build.0 = Debug|x64
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.ActiveCfg = Release|Win32
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.Build.0 = Release|Win32
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|x64.ActiveCfg = Release|x64
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|x64.Build.0 = Release|x64
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.Build.0 = Debug|Win32
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|x64.ActiveCfg = Debug|x64
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|x64.Build.0 = Debug|x64
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.ActiveCfg = Release|Win32
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.Build.0 = Release|Win32
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|x64.ActiveCfg = Release|x64
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|x64.Build.0 = Release|x64
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|Win32.Build.0 = Debug|Win32
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|x64.ActiveCfg = Debug|x64
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|x64.Build.0 = Debug|x64
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|Win32.ActiveCfg = Release|Win32
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|Win32.Build.0 = Release|Win32
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|x64.ActiveCfg = Release|x64
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|x64.Build.0 = Release|x64
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|Win32.Build.0 = Debug|Win32
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|x64.ActiveCfg = Debug|x64
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|x64.Build.0 = Debug|x64
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|Win32.ActiveCfg = Release|Win32
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|Win32.Build.0 = Release|Win32
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|x64.ActiveCfg = Release|x64
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|x64.Build.0 = Release|x64
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|Win32.Build.0 = Debug|Win32
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|x64.ActiveCfg = Debug|x64
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|x64.Build.0 = Debug|x64
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|Win32.ActiveCfg = Release|Win32
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|Win32.Build.0 = Release|Win32
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|x64.ActiveCfg = Release|x64
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|x64.Build.0 = Release|x64
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|Win32.Build.0 = Debug|Win32
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|x64.ActiveCfg = Debug|x64
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|x64.Build.0 = Debug|x64
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|Win32.ActiveCfg = Release|Win32
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|Win32.Build.0 = Release|Win32
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|x64.ActiveCfg = Release|x64
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|x64.Build.0 = Release|x64
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|Win32.Build.0 = Debug|Win32
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|x64.ActiveCfg = Debug|x64
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|x64.Build.0 = Debug|x64
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|Win32.ActiveCfg = Release|Win32
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|Win32.Build.0 = Release|Win32
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|x64.ActiveCfg = Release|x64
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|x64.Build.0 = Release|x64
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|Win32.Build.0 = Debug|Win32
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|x64.ActiveCfg = Debug|x64
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|x64.Build.0 = Debug|x64
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|Win32.ActiveCfg = Release|Win32
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|Win32.Build.0 = Release|Win32
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|x64.ActiveCfg = Release|x64
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|x64.Build.0 = Release|x64
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.Build.0 = Debug|Win32
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.ActiveCfg = Debug|x64
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.Build.0 = Debug|x64
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.ActiveCfg = Release|Win32
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.Build.0 = Release|Win32
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.ActiveCfg = Release|x64
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.Build.0 = Release|x64
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.Build.0 = Debug|Win32
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.ActiveCfg = Debug|x64
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.Build.0 = Debug|x64
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.ActiveCfg = Release|Win32
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.Build.0 = Release|Win32
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.ActiveCfg = Release|x64
+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.Build.0 = Release|x64
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.Build.0 = Debug|Win32
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.ActiveCfg = Debug|x64
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.Build.0 = Debug|x64
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.ActiveCfg = Release|Win32
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.Build.0 = Release|Win32
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.ActiveCfg = Release|x64
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {42700964-831F-4B47-B556-75CBCCA48D8E}
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {42700964-831F-4B47-B556-75CBCCA48D8E}
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB} = {42700964-831F-4B47-B556-75CBCCA48D8E}
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7} = {42700964-831F-4B47-B556-75CBCCA48D8E}
+ {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD} = {C9B26FA8-8665-4806-872F-347ACB231CAD}
+ {5B5857E1-64E2-4CED-A12E-45E1B3880496} = {ACA43A22-BCCD-487F-B92F-8EB0D6FF1DA4}
+ {ACA43A22-BCCD-487F-B92F-8EB0D6FF1DA4} = {C9B26FA8-8665-4806-872F-347ACB231CAD}
+ {B60F9088-C9BD-4D2B-ADE7-2FE1F993FE06} = {27D6F599-4536-4C67-85E5-3B1FD6A1D5A9}
+ {27D6F599-4536-4C67-85E5-3B1FD6A1D5A9} = {42700964-831F-4B47-B556-75CBCCA48D8E}
+ {B6E81D84-2ACB-41B8-8781-493A944C7817} = {27D6F599-4536-4C67-85E5-3B1FD6A1D5A9}
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA} = {27D6F599-4536-4C67-85E5-3B1FD6A1D5A9}
+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9} = {B60F9088-C9BD-4D2B-ADE7-2FE1F993FE06}
+ {07ABD431-1515-4140-932E-E8C150FF7D1A} = {B60F9088-C9BD-4D2B-ADE7-2FE1F993FE06}
+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087} = {B60F9088-C9BD-4D2B-ADE7-2FE1F993FE06}
+ EndGlobalSection
+EndGlobal
diff --git a/thirdparty/download_thirdparty.bat b/thirdparty/download_thirdparty.bat
new file mode 100644
index 000000000..4b88511f9
--- /dev/null
+++ b/thirdparty/download_thirdparty.bat
@@ -0,0 +1,19 @@
+@SetLocal
+ @PushD "%~dp0"
+ git submodule update --init
+ @If Not Exist "grpc\.git" git clone "https://github.com/grpc/grpc"
+ @If Not Exist "arrow\.git" git clone "https://github.com/pcmoritz/arrow.git" --branch windows_support
+ @If Not Exist "arrow\cpp\thirdparty\flatbuffers\.git" git clone "https://github.com/google/flatbuffers.git" "arrow/cpp/thirdparty/flatbuffers"
+ @If Not Exist "arrow\cpp\thirdparty\parquet\.git" git clone "https://github.com/apache/parquet-cpp.git" "arrow/cpp/thirdparty/parquet"
+ @If Not Exist "numbuf\.git" git clone "https://github.com/amplab/numbuf.git" --branch win
+ @If Not Exist "python\.git" git clone "https://github.com/austinsc/python.git"
+ git -C "grpc" submodule update --init "third_party/protobuf"
+ git -C "grpc" submodule update --init "third_party/nanopb"
+ git -C "grpc" submodule update --init "third_party/zlib"
+ git -C "grpc" apply "%~dp0windows-patches/grpc-projects.patch"
+ git -C "grpc/third_party/protobuf" apply "%~dp0windows-patches/protobuf-projects.patch"
+ git -C "arrow/cpp/thirdparty/flatbuffers" apply "%~dp0windows-patches/flatbuffers-projects.patch"
+ git -C "arrow/cpp/thirdparty/parquet" apply "%~dp0windows-patches/parquet-endian.patch"
+ git -C "python" apply "%~dp0windows-patches/python-pyconfig.patch"
+ @PopD
+@EndLocal
diff --git a/thirdparty/windows-patches/.gitattributes b/thirdparty/windows-patches/.gitattributes
new file mode 100644
index 000000000..33fbcd6a7
--- /dev/null
+++ b/thirdparty/windows-patches/.gitattributes
@@ -0,0 +1 @@
+/*.patch text eol=lf
diff --git a/thirdparty/windows-patches/flatbuffers-projects.patch b/thirdparty/windows-patches/flatbuffers-projects.patch
new file mode 100644
index 000000000..cc8d7b240
--- /dev/null
+++ b/thirdparty/windows-patches/flatbuffers-projects.patch
@@ -0,0 +1,265 @@
+diff --git a/build_ide/VS2010/flatc.props b/build_ide/VS2010/flatc.props
+new file
+index e69de29..e8431c7
+--- /dev/null
++++ b/build_ide/VS2010/flatc.props
+@@ -0,0 +1,15 @@
++
++
++
++
++
++ $(SolutionDir)build\$(Platform)\$(Configuration)\
++ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\
++
++
++
++ true
++
++
++
++
+\ No newline at end of file
+diff --git a/build_ide/VS2010/flatc.vcxproj b/build_ide/VS2010/flatc.vcxproj
+index 31cd013..a338685
+--- a/build_ide/VS2010/flatc.vcxproj
++++ b/build_ide/VS2010/flatc.vcxproj
+@@ -26,24 +26,16 @@
+
+
+
+- Application
+- false
+- MultiByte
++ v140_xp
+
+
+- Application
+- false
+- MultiByte
++ v140_xp
+
+
+- Application
+- false
+- MultiByte
++ v140_xp
+
+
+- Application
+- false
+- MultiByte
++ v140_xp
+
+
+
+@@ -51,33 +43,12 @@
+
+
+
++
++
++
+
+
+ <_ProjectFileVersion>10.0.20506.1
+- $(IntDir)
+- $(IntDir)
+- flatc.dir\Debug\
+- flatc.dir\Debug\
+- flatc
+- flatc
+- .exe
+- .exe
+- true
+- true
+- true
+- true
+- $(IntDir)
+- $(IntDir)
+- flatc.dir\Release\
+- flatc.dir\Release\
+- flatc
+- flatc
+- .exe
+- .exe
+- false
+- false
+- true
+- true
+
+
+
+@@ -85,18 +56,13 @@
+ EnableFastChecks
+ CompileAsCpp
+ ProgramDatabase
+- Sync
+- Disabled
+ Disabled
+ NotUsing
+- MultiThreadedDebugDLL
+ true
+ Level4
+ WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)
+- Debug
+- $(IntDir)
+- ../../Debug/flatc.pdb
+ true
++ MultiThreadedDebugDLL
+
+
+ WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)
+@@ -104,26 +70,13 @@
+
+
+ ../../include;%(AdditionalIncludeDirectories)
+- $(IntDir)
+- %(Filename).h
+- %(Filename).tlb
+- %(Filename)_i.c
+- %(Filename)_p.c
+
+
+- /machine:X86 /debug %(AdditionalOptions)
+- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
+- %(AdditionalLibraryDirectories)
+- true
+- ../../Debug/flatc.lib
+- ../../Debug/flatc.pdb
+ Console
+
+
++ true
+
+-
+- false
+-
+
+
+
+@@ -131,18 +84,13 @@
+ EnableFastChecks
+ CompileAsCpp
+ ProgramDatabase
+- Sync
+- Disabled
+ Disabled
+ NotUsing
+- MultiThreadedDebugDLL
+ true
+ Level4
+ WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)
+- Debug
+- $(IntDir)
+- ../../Debug/flatc.pdb
+ true
++ MultiThreadedDebugDLL
+
+
+ WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)
+@@ -150,44 +98,26 @@
+
+
+ ../../include;%(AdditionalIncludeDirectories)
+- $(IntDir)
+- %(Filename).h
+- %(Filename).tlb
+- %(Filename)_i.c
+- %(Filename)_p.c
+
+
+- /debug %(AdditionalOptions)
+- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
+- %(AdditionalLibraryDirectories)
+- true
+- ../../Debug/flatc.lib
+- ../../Debug/flatc.pdb
+ Console
+
+
++ true
+
+-
+- false
+-
+
+
+
+ ../../include;%(AdditionalIncludeDirectories)
+ CompileAsCpp
+- Sync
+ AnySuitable
+ MaxSpeed
+ NotUsing
+- MultiThreadedDLL
+ true
+ Level4
+
+
+ WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)
+- Release
+- $(IntDir)
+- ../../Release/flatc.pdb
+ true
+
+
+@@ -196,19 +126,9 @@
+
+
+ ../../include;%(AdditionalIncludeDirectories)
+- $(IntDir)
+- %(Filename).h
+- %(Filename).tlb
+- %(Filename)_i.c
+- %(Filename)_p.c
+
+
+- /machine:X86 %(AdditionalOptions)
+- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
+- %(AdditionalLibraryDirectories)
+ false
+- ../../Release/flatc.lib
+- ../../Release/flatc.pdb
+ Console
+
+
+@@ -221,19 +141,14 @@
+
+ ../../include;%(AdditionalIncludeDirectories)
+ CompileAsCpp
+- Sync
+ AnySuitable
+ MaxSpeed
+ NotUsing
+- MultiThreadedDLL
+ true
+ Level4
+
+
+ WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)
+- Release
+- $(IntDir)
+- ../../Release/flatc.pdb
+ true
+
+
+@@ -242,18 +157,9 @@
+
+
+ ../../include;%(AdditionalIncludeDirectories)
+- $(IntDir)
+- %(Filename).h
+- %(Filename).tlb
+- %(Filename)_i.c
+- %(Filename)_p.c
+
+
+- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib
+- %(AdditionalLibraryDirectories)
+ false
+- ../../Release/flatc.lib
+- ../../Release/flatc.pdb
+ Console
+
+
diff --git a/thirdparty/windows-patches/grpc-projects.patch b/thirdparty/windows-patches/grpc-projects.patch
new file mode 100644
index 000000000..8b56e1d2b
--- /dev/null
+++ b/thirdparty/windows-patches/grpc-projects.patch
@@ -0,0 +1,4873 @@
+diff --git a/vsprojects/global.props b/vsprojects/global.props
+index c0792e1..3299131
+--- a/vsprojects/global.props
++++ b/vsprojects/global.props
+@@ -4,11 +4,15 @@
+
+
+ false
++ $(SolutionDir)build\$(Platform)\$(Configuration)\
++ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\
+
+
+
+- $(SolutionDir)\..;$(SolutionDir)\..\include;$(SolutionDir)\..\third_party\protobuf\src;$(SolutionDir)\packages\grpc.dependencies.zlib.1.2.8.10\build\native\include;$(SolutionDir)\packages\grpc.dependencies.openssl.1.0.204.1\build\native\include;$(SolutionDir)\packages\gflags.2.1.2.1\build\native\include;$(SolutionDir)\packages\gtest.1.7.0.1\build\native\include;%(AdditionalIncludeDirectories)
+- _WIN32_WINNT=0x600;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions)
++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\include;$(ProjectDir)..\..\..\third_party\protobuf\src;$(ProjectDir)..\..\..\..\..\packages\grpc.dependencies.zlib.1.2.8.10\build\native\include;$(ProjectDir)..\..\..\..\..\packages\grpc.dependencies.openssl.1.0.204.1\build\native\include;$(ProjectDir)..\..\..\..\..\packages\gflags.2.1.2.1\build\native\include;$(ProjectDir)..\..\..\..\..\packages\gtest.1.7.0.1\build\native\include;%(AdditionalIncludeDirectories)
++ _WIN32_WINNT=0x600;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;OPENSSL_NO_ASM;_UNICODE;UNICODE;%(PreprocessorDefinitions)
++ false
++ True
+ EnableAllWarnings
+
+
+diff --git a/vsprojects/protobuf.props b/vsprojects/protobuf.props
+index b1de8af..1dad9ff
+--- a/vsprojects/protobuf.props
++++ b/vsprojects/protobuf.props
+@@ -1 +1,15 @@
+- libprotobuf.lib;%(AdditionalDependencies) $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories)
+\ No newline at end of file
++
++
++
++
++
++ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\
++ $(SolutionDir)build\$(Platform)\$(Configuration)\
++
++
++
++ $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories)
++
++
++
++
+\ No newline at end of file
+diff --git a/vsprojects/protoc.props b/vsprojects/protoc.props
+index 1bdc071..87a4bf4
+--- a/vsprojects/protoc.props
++++ b/vsprojects/protoc.props
+@@ -1 +1,15 @@
+- 4244;4267;%(DisableSpecificWarnings) libprotoc.lib;%(AdditionalDependencies) $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories)
+\ No newline at end of file
++
++
++
++
++
++
++
++ 4244;4267;%(DisableSpecificWarnings)
++
++
++ $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories)
++
++
++
++
+\ No newline at end of file
+diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj b/vsprojects/vcxproj/gpr/gpr.vcxproj
+index 2e403c2..df91b12
+--- a/vsprojects/vcxproj/gpr/gpr.vcxproj
++++ b/vsprojects/vcxproj/gpr/gpr.vcxproj
+@@ -21,7 +21,6 @@
+
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
+ true
+- $(SolutionDir)IntDir\$(MSBuildProjectName)\
+
+
+
+@@ -52,16 +51,10 @@
+
+
+
+-
+-
++
++
+
+
+-
+- gpr
+-
+-
+- gpr
+-
+
+
+ NotUsing
+@@ -69,7 +62,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -88,7 +80,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -109,7 +100,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -132,7 +122,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -147,155 +136,155 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+
+
+diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters
+index c952a78..949de28
+--- a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters
++++ b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters
+@@ -1,308 +1,308 @@
+
+
+
+-
++
+ src\core\lib\profiling
+
+-
++
+ src\core\lib\profiling
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\support
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+
+
+-
++
+ src\core\lib\profiling
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+-
++
+ src\core\lib\support
+
+
+diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj b/vsprojects/vcxproj/grpc++/grpc++.vcxproj
+index 64c7b14..741c1ce
+--- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj
++++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj
+@@ -37,7 +37,6 @@
+
+ {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}
+ true
+- $(SolutionDir)IntDir\$(MSBuildProjectName)\
+
+
+
+@@ -79,16 +78,10 @@
+
+
+
+-
+-
++
++
+
+
+-
+- grpc++
+-
+-
+- grpc++
+-
+
+
+ NotUsing
+@@ -96,7 +89,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -115,7 +107,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -136,7 +127,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -159,7 +149,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -180,7 +169,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -199,7 +187,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -220,7 +207,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -243,7 +229,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -258,181 +243,181 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
+
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+
+
+-
++
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}
+
+
+diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters
+index 5451f5b..7e59c0b
+--- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters
++++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters
+@@ -1,419 +1,419 @@
+
+
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\util
+
+-
++
+ src\cpp\util
+
+-
++
+ src\cpp\util
+
+-
++
+ src\cpp\util
+
+-
++
+ src\cpp\util
+
+-
++
+ src\cpp\codegen
+
+
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++\generic
+
+-
++
+ include\grpc++\generic
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\impl
+
+-
++
+ include\grpc++\security
+
+-
++
+ include\grpc++\security
+
+-
++
+ include\grpc++\security
+
+-
++
+ include\grpc++\security
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen\security
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\common
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\client
+
+-
++
+ src\cpp\server
+
+-
++
+ src\cpp\server
+
+
+diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj
+index 14f96d1..49968d4
+--- a/vsprojects/vcxproj/grpc/grpc.vcxproj
++++ b/vsprojects/vcxproj/grpc/grpc.vcxproj
+@@ -1,6 +1,6 @@
+
+
+-
++
+
+
+ Debug-DLL
+@@ -38,7 +38,6 @@
+
+ {29D16885-7228-4C31-81ED-5F9187C7F2A9}
+ true
+- $(SolutionDir)IntDir\$(MSBuildProjectName)\
+
+
+
+@@ -80,19 +79,17 @@
+
+
+
+-
+-
++
++
+
+
+
+- grpc
+ static
+ Debug
+ static
+ Debug
+
+
+- grpc
+ static
+ Release
+ static
+@@ -105,7 +102,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -124,7 +120,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -145,7 +140,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -168,7 +162,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -189,7 +182,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -208,7 +200,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -229,7 +220,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -252,7 +242,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -267,567 +256,569 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+
+
+-
++
+ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
+
++
++ {fbade9e3-6a3f-36d3-d676-c1b808451dd7}
++
+
+
+
+
+
+
+-
+-
+-
+-
++
++
++
++
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+-
+-
+-
+-
+-
++
++
++
++
++
+
+-
+-
++
+\ No newline at end of file
+diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
+index 1b188e5..b37d005
+--- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
++++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
+@@ -1,1073 +1,1073 @@
+
+
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\compression
+
+-
++
+ src\core\lib\compression
+
+-
++
+ src\core\lib\debug
+
+-
++
+ src\core\lib\http
+
+-
++
+ src\core\lib\http
+
+-
++
+ src\core\lib\http
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\ext\transport\chttp2\server\secure
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\alpn
+
+-
++
+ src\core\lib\http
+
+-
++
+ src\core\lib\security\context
+
+-
++
+ src\core\lib\security\credentials\composite
+
+-
++
+ src\core\lib\security\credentials
+
+-
++
+ src\core\lib\security\credentials
+
+-
++
+ src\core\lib\security\credentials\fake
+
+-
++
+ src\core\lib\security\credentials\google_default
+
+-
++
+ src\core\lib\security\credentials\google_default
+
+-
++
+ src\core\lib\security\credentials\google_default
+
+-
++
+ src\core\lib\security\credentials\iam
+
+-
++
+ src\core\lib\security\credentials\jwt
+
+-
++
+ src\core\lib\security\credentials\jwt
+
+-
++
+ src\core\lib\security\credentials\jwt
+
+-
++
+ src\core\lib\security\credentials\oauth2
+
+-
++
+ src\core\lib\security\credentials\plugin
+
+-
++
+ src\core\lib\security\credentials\ssl
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\util
+
+-
++
+ src\core\lib\security\util
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\ext\transport\chttp2\client\secure
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\transport\chttp2\server\insecure
+
+-
++
+ src\core\ext\transport\chttp2\client\insecure
+
+-
++
+ src\core\ext\lb_policy\grpclb
+
+-
++
+ src\core\ext\lb_policy\grpclb\proto\grpc\lb\v1
+
+-
++
+ third_party\nanopb
+
+-
++
+ third_party\nanopb
+
+-
++
+ third_party\nanopb
+
+-
++
+ src\core\ext\lb_policy\pick_first
+
+-
++
+ src\core\ext\lb_policy\round_robin
+
+-
++
+ src\core\ext\resolver\dns\native
+
+-
++
+ src\core\ext\resolver\sockaddr
+
+-
++
+ src\core\ext\load_reporting
+
+-
++
+ src\core\ext\load_reporting
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census\gen
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\plugin_registry
+
+
+
+-
++
+ include\grpc
+
+-
++
+ include\grpc
+
+-
++
+ include\grpc
+
+-
++
+ include\grpc
+
+-
++
+ include\grpc
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc\impl\codegen
+
+-
++
+ include\grpc
+
+-
++
+ include\grpc
+
+-
++
+ include\grpc
+
+
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\channel
+
+-
++
+ src\core\lib\compression
+
+-
++
+ src\core\lib\compression
+
+-
++
+ src\core\lib\debug
+
+-
++
+ src\core\lib\http
+
+-
++
+ src\core\lib\http
+
+-
++
+ src\core\lib\http
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\iomgr
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\json
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\surface
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\lib\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\transport
+
+-
++
+ src\core\ext\transport\chttp2\alpn
+
+-
++
+ src\core\lib\security\context
+
+-
++
+ src\core\lib\security\credentials\composite
+
+-
++
+ src\core\lib\security\credentials
+
+-
++
+ src\core\lib\security\credentials\fake
+
+-
++
+ src\core\lib\security\credentials\google_default
+
+-
++
+ src\core\lib\security\credentials\iam
+
+-
++
+ src\core\lib\security\credentials\jwt
+
+-
++
+ src\core\lib\security\credentials\jwt
+
+-
++
+ src\core\lib\security\credentials\jwt
+
+-
++
+ src\core\lib\security\credentials\oauth2
+
+-
++
+ src\core\lib\security\credentials\plugin
+
+-
++
+ src\core\lib\security\credentials\ssl
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\transport
+
+-
++
+ src\core\lib\security\util
+
+-
++
+ src\core\lib\security\util
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\lib\tsi
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\client_config
+
+-
++
+ src\core\ext\lb_policy\grpclb
+
+-
++
+ src\core\ext\lb_policy\grpclb\proto\grpc\lb\v1
+
+-
++
+ third_party\nanopb
+
+-
++
+ third_party\nanopb
+
+-
++
+ third_party\nanopb
+
+-
++
+ third_party\nanopb
+
+-
++
+ src\core\ext\load_reporting
+
+-
++
+ src\core\ext\load_reporting
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census\gen
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+-
++
+ src\core\ext\census
+
+
+@@ -1251,5 +1251,7 @@
+ {93d6596d-330c-1d27-6f84-3c840e57869e}
+
+
+-
+-
++
++
++
++
+\ No newline at end of file
+diff --git a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj
+index a521414..1779af5
+--- a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj
++++ b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj
+@@ -21,7 +21,6 @@
+
+ {7E51A25F-AC59-488F-906C-C60FAAE706AA}
+ true
+- $(SolutionDir)IntDir\$(MSBuildProjectName)\
+
+
+
+@@ -52,17 +51,11 @@
+
+
+
+-
+-
+-
++
++
++
+
+
+-
+- grpc_cpp_plugin
+-
+-
+- grpc_cpp_plugin
+-
+
+
+ NotUsing
+@@ -70,7 +63,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -89,7 +81,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -110,7 +101,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -133,7 +123,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -148,13 +137,16 @@
+
+
+
+-
++
+
+
+
+-
++
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}
+
++
++ {2b4f3bb4-adde-4cb7-b832-c964de4e0087}
++
+
+
+
+diff --git a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters
+index 421c308..bfa41be
+--- a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters
++++ b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters
+@@ -1,7 +1,7 @@
+
+
+
+-
++
+ src\compiler
+
+
+diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj
+index a81d317..8b6c00e
+--- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj
++++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj
+@@ -21,7 +21,6 @@
+
+ {B6E81D84-2ACB-41B8-8781-493A944C7817}
+ true
+- $(SolutionDir)IntDir\$(MSBuildProjectName)\
+
+
+
+@@ -52,17 +51,11 @@
+
+
+
+-
+-
+-
++
++
++
+
+
+-
+- grpc_plugin_support
+-
+-
+- grpc_plugin_support
+-
+
+
+ NotUsing
+@@ -70,7 +63,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -89,7 +81,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -110,7 +101,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -133,7 +123,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -148,40 +137,40 @@
+
+
+
+-
+-
+-
+-
++
++
++
++
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+
+
+diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters
+index b3d2dc2..562c311
+--- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters
++++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters
+@@ -1,83 +1,83 @@
+-
++
+
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\support
+
+-
++
+ include\grpc++\impl\codegen
+
+-
++
+ include\grpc++\impl\codegen
+
+
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+-
++
+ src\compiler
+
+
+diff --git a/vsprojects/vcxproj/z/z.vcxproj b/vsprojects/vcxproj/z/z.vcxproj
+index 4505dfa..8ad76d1
+--- a/vsprojects/vcxproj/z/z.vcxproj
++++ b/vsprojects/vcxproj/z/z.vcxproj
+@@ -21,7 +21,6 @@
+
+ {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}
+ true
+- $(SolutionDir)IntDir\$(MSBuildProjectName)\
+
+
+
+@@ -52,16 +51,10 @@
+
+
+
+-
+-
++
++
+
+
+-
+- z
+-
+-
+- z
+-
+
+
+ NotUsing
+@@ -69,7 +62,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -88,7 +80,6 @@
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+- MultiThreadedDebug
+ true
+ None
+ false
+@@ -109,7 +100,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -132,7 +122,6 @@
+ true
+ true
+ true
+- MultiThreaded
+ true
+ None
+ false
+@@ -147,48 +136,48 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
++
++
++
++
++
++
++
++
++
++
++
+
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+-
++
+
+
+
+diff --git a/vsprojects/vcxproj/z/z.vcxproj.filters b/vsprojects/vcxproj/z/z.vcxproj.filters
+index 4aea144..9d1cff6
+--- a/vsprojects/vcxproj/z/z.vcxproj.filters
++++ b/vsprojects/vcxproj/z/z.vcxproj.filters
+@@ -1,84 +1,84 @@
+-
++
+
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+-
++
+ third_party\zlib
+
+
+diff --git a/vsprojects/zlib.props b/vsprojects/zlib.props
+index b64bb21..77f095e
+--- a/vsprojects/zlib.props
++++ b/vsprojects/zlib.props
+@@ -6,7 +6,7 @@
+
+
+ zlib.lib;%(AdditionalDependencies)
+- $(SolutionDir)\packages\grpc.dependencies.zlib.1.2.8.10\build\native\lib\$(PlatformToolset)\$(Platform)\$(Configuration)\static\cdecl;%(AdditionalLibraryDirectories)
++ $(ProjectDir)\..\..\..\..\..\packages\grpc.dependencies.zlib.1.2.8.10\build\native\lib\$(PlatformToolset)\$(Platform)\$(Configuration)\static\cdecl;%(AdditionalLibraryDirectories)
+
+
+
diff --git a/thirdparty/windows-patches/parquet-endian.patch b/thirdparty/windows-patches/parquet-endian.patch
new file mode 100644
index 000000000..9d5c5ff44
--- /dev/null
+++ b/thirdparty/windows-patches/parquet-endian.patch
@@ -0,0 +1,12 @@
+diff --git a/src/endian.h b/src/endian.h
+new file
+index e69de29..4d9eb94
+--- /dev/null
++++ b/src/endian.h
+@@ -0,0 +1,6 @@
++#ifdef _MSC_VER
++#define __builtin_expect(x, z) (x)
++#define __builtin_bswap16(x) _byteswap_ushort(x)
++#define __builtin_bswap32(x) _byteswap_ulong(x)
++#define __builtin_bswap64(x) _byteswap_uint64(x)
++#endif
diff --git a/thirdparty/windows-patches/protobuf-projects.patch b/thirdparty/windows-patches/protobuf-projects.patch
new file mode 100644
index 000000000..07fca6cfe
--- /dev/null
+++ b/thirdparty/windows-patches/protobuf-projects.patch
@@ -0,0 +1,641 @@
+diff --git a/vsprojects/libprotobuf.vcxproj b/vsprojects/libprotobuf.vcxproj
+new file
+index e69de29..a3267ed
+--- /dev/null
++++ b/vsprojects/libprotobuf.vcxproj
+@@ -0,0 +1,207 @@
++
++
++
++
++ Debug
++ Win32
++
++
++ Release
++ Win32
++
++
++ Debug
++ x64
++
++
++ Release
++ x64
++
++
++
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}
++ Win32Proj
++ 8.1
++
++
++
++ StaticLibrary
++ true
++ v140
++
++
++ StaticLibrary
++ false
++ v140
++
++
++ StaticLibrary
++ true
++ v140
++
++
++ StaticLibrary
++ false
++ v140
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ true
++
++
++ true
++
++
++
++
++
++ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
++ Level3
++ ProgramDatabase
++ Disabled
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++ false
++
++
++ MachineX86
++ true
++ Console
++
++
++
++
++ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
++ Level3
++ ProgramDatabase
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++
++
++ MachineX86
++ true
++ Console
++ true
++ true
++
++
++
++
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++ false
++
++
++
++
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+\ No newline at end of file
+diff --git a/vsprojects/libprotoc.vcxproj b/vsprojects/libprotoc.vcxproj
+new file
+index e69de29..af4a242
+--- /dev/null
++++ b/vsprojects/libprotoc.vcxproj
+@@ -0,0 +1,223 @@
++
++
++
++
++ Debug
++ Win32
++
++
++ Release
++ Win32
++
++
++ Debug
++ x64
++
++
++ Release
++ x64
++
++
++
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}
++ Win32Proj
++ 8.1
++
++
++
++ StaticLibrary
++ true
++ v140
++
++
++ StaticLibrary
++ false
++ v140
++
++
++ StaticLibrary
++ true
++ v140
++
++
++ StaticLibrary
++ false
++ v140
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ true
++
++
++ true
++
++
++
++
++
++ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
++ Level3
++ ProgramDatabase
++ Disabled
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++ false
++
++
++ MachineX86
++ true
++ Console
++
++
++
++
++ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
++ Level3
++ ProgramDatabase
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++
++
++ MachineX86
++ true
++ Console
++ true
++ true
++
++
++
++
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++ false
++
++
++
++
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ {07abd431-1515-4140-932e-e8c150ff7d1a}
++
++
++
++
++
++
+\ No newline at end of file
+diff --git a/vsprojects/protobuf.sln b/vsprojects/protobuf.sln
+new file
+index e69de29..27d6b04
+--- /dev/null
++++ b/vsprojects/protobuf.sln
+@@ -0,0 +1,48 @@
++
++Microsoft Visual Studio Solution File, Format Version 12.00
++# Visual Studio 14
++VisualStudioVersion = 14.0.25123.0
++MinimumVisualStudioVersion = 10.0.40219.1
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotobuf", "libprotobuf.vcxproj", "{07ABD431-1515-4140-932E-E8C150FF7D1A}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc", "protoc.vcxproj", "{DB653289-E887-4B13-AC08-EE3EAC1F34C9}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotoc", "libprotoc.vcxproj", "{2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}"
++EndProject
++Global
++ GlobalSection(SolutionConfigurationPlatforms) = preSolution
++ Debug|Win32 = Debug|Win32
++ Debug|x64 = Debug|x64
++ Release|Win32 = Release|Win32
++ Release|x64 = Release|x64
++ EndGlobalSection
++ GlobalSection(ProjectConfigurationPlatforms) = postSolution
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.ActiveCfg = Debug|Win32
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.Build.0 = Debug|Win32
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.ActiveCfg = Debug|x64
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.Build.0 = Debug|x64
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.ActiveCfg = Release|Win32
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.Build.0 = Release|Win32
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.ActiveCfg = Release|x64
++ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.Build.0 = Release|x64
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.ActiveCfg = Debug|Win32
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.Build.0 = Debug|Win32
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.ActiveCfg = Debug|x64
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.Build.0 = Debug|x64
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.ActiveCfg = Release|Win32
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.Build.0 = Release|Win32
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.ActiveCfg = Release|x64
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.Build.0 = Release|x64
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.ActiveCfg = Debug|Win32
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.Build.0 = Debug|Win32
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.ActiveCfg = Debug|x64
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.Build.0 = Debug|x64
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.ActiveCfg = Release|Win32
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.Build.0 = Release|Win32
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.ActiveCfg = Release|x64
++ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.Build.0 = Release|x64
++ EndGlobalSection
++ GlobalSection(SolutionProperties) = preSolution
++ HideSolutionNode = FALSE
++ EndGlobalSection
++EndGlobal
+diff --git a/vsprojects/protoc.vcxproj b/vsprojects/protoc.vcxproj
+new file
+index e69de29..971fab7
+--- /dev/null
++++ b/vsprojects/protoc.vcxproj
+@@ -0,0 +1,136 @@
++
++
++
++
++ Debug
++ Win32
++
++
++ Release
++ Win32
++
++
++ Debug
++ x64
++
++
++ Release
++ x64
++
++
++
++ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}
++ Win32Proj
++ 8.1
++
++
++
++ Application
++ true
++ v140
++
++
++ Application
++ false
++ v140
++
++
++ Application
++ true
++ v140
++
++
++ Application
++ false
++ v140
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ true
++
++
++ true
++
++
++
++
++
++ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
++ Level3
++ ProgramDatabase
++ Disabled
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++ false
++
++
++ MachineX86
++ true
++ Console
++
++
++
++
++ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
++ Level3
++ ProgramDatabase
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++
++
++ MachineX86
++ true
++ Console
++ true
++ true
++
++
++
++
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++ false
++
++
++
++
++ $(ProjectDir)..\src;%(AdditionalIncludeDirectories)
++ true
++
++
++
++
++
++
++
++
++
++
++ {2b4f3bb4-adde-4cb7-b832-c964de4e0087}
++
++
++
++
++
++
+\ No newline at end of file
diff --git a/thirdparty/windows-patches/python-pyconfig.patch b/thirdparty/windows-patches/python-pyconfig.patch
new file mode 100644
index 000000000..4280dee77
--- /dev/null
+++ b/thirdparty/windows-patches/python-pyconfig.patch
@@ -0,0 +1,25 @@
+diff --git a/inc/Windows/pyconfig.h b/inc/Windows/pyconfig.h
+index 1cfc59b..d4861cb
+--- a/inc/Windows/pyconfig.h
++++ b/inc/Windows/pyconfig.h
+@@ -1,6 +1,11 @@
+ #ifndef Py_CONFIG_H
+ #define Py_CONFIG_H
+
++#ifdef _MSC_VER
++#pragma push_macro("_DEBUG")
++#undef _DEBUG
++#endif
++
+ /* pyconfig.h. NOT Generated automatically by configure.
+
+ This is a manually maintained version used for the Watcom,
+@@ -756,4 +761,8 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
+ least significant byte first */
+ #define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1
+
++#ifdef _MSC_VER
++#pragma pop_macro("_DEBUG")
++#endif
++
+ #endif /* !Py_CONFIG_H */
diff --git a/vsprojects/Base.props b/vsprojects/Base.props
new file mode 100644
index 000000000..281be32bd
--- /dev/null
+++ b/vsprojects/Base.props
@@ -0,0 +1,32 @@
+
+
+
+
+ $(ProjectDir)..\thirdparty\
+
+
+ $(SolutionDir)build\$(Platform)\$(Configuration)\
+ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\
+
+
+
+ $(PYTHONHOME)\Lib\site-packages\numpy\core\include;$(THIRD_PARTY)python\inc;$(THIRD_PARTY)python\inc\Windows;$(ProjectDir)..\build\generated;$(ProjectDir)..\include;$(THIRD_PARTY)numbuf\cpp\src;$(THIRD_PARTY)numbuf\python\src;$(THIRD_PARTY)grpc\include;$(THIRD_PARTY)grpc\third_party\protobuf\src;$(THIRD_PARTY)arrow\cpp\src;$(BOOST_ROOT);$(BOOST_ROOT)\libs\interprocess\include;%(AdditionalIncludeDirectories)
+ _WIN32_WINNT=0x0600;BOOST_DATE_TIME_NO_LIB=1;%(PreprocessorDefinitions)
+ 4191;;4100;4371;4514;4571;4619;4668;4710;4820
+ /FS %(AdditionalOptions)
+ true
+ false
+
+
+ $(THIRD_PARTY)python\lib\Windows\$(PlatformTarget);$(SolutionDir)packages\grpc.dependencies.openssl.1.0.204.1\build\native\lib\$(PlatformToolset)\$(Platform)\$(Configuration)\static;%(AdditionalLibraryDirectories)
+ /NoDefaultLib:libcmt.lib /NoDefaultLib:libcmtd.lib /NoDefaultLib:libcpmt.lib /NoDefaultLib:libcpmtd.lib /ignore:4099 %(AdditionalOptions)
+ libeay32.lib;ssleay32.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+ $(THIRD_PARTY)
+ true
+
+
+
\ No newline at end of file
diff --git a/vsprojects/ObjStore.vcxproj b/vsprojects/ObjStore.vcxproj
new file mode 100644
index 000000000..144164722
--- /dev/null
+++ b/vsprojects/ObjStore.vcxproj
@@ -0,0 +1,162 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {DDFCEC30-7024-421A-979A-B1BF69CF464E}
+ Win32Proj
+ 8.1
+
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+ {c002f9f6-8447-4b95-aa18-fb781f4a7865}
+
+
+ {76be8e91-0f74-4276-a6a7-b279c6fea0d2}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vsprojects/ObjStore.vcxproj.filters b/vsprojects/ObjStore.vcxproj.filters
new file mode 100644
index 000000000..c98eda3d2
--- /dev/null
+++ b/vsprojects/ObjStore.vcxproj.filters
@@ -0,0 +1,27 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/vsprojects/Ray.vcxproj b/vsprojects/Ray.vcxproj
new file mode 100644
index 000000000..33796e700
--- /dev/null
+++ b/vsprojects/Ray.vcxproj
@@ -0,0 +1,262 @@
+
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+
+
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+
+
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+
+
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+ 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings)
+
+
+
+
+
+
+
+
+
+
+ Document
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+
+
+ Document
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+ Path $(OutDir);%PATH%
+protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)"
+ $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;%(Outputs)
+
+
+
+
+ {10e7d8e8-0eeb-46ea-a58d-f9236b5960ad}
+
+
+ {07abd431-1515-4140-932e-e8c150ff7d1a}
+
+
+ {db653289-e887-4b13-ac08-ee3eac1f34c9}
+
+
+ {c187a093-a0fe-489d-a40a-6e33de0f9feb}
+
+
+ {7e51a25f-ac59-488f-906c-c60faae706aa}
+
+
+ {fbade9e3-6a3f-36d3-d676-c1b808451dd7}
+
+
+
+
+
+
+ {C002F9F6-8447-4B95-AA18-FB781F4A7865}
+ Win32Proj
+ Ray
+ 8.1
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+ Disabled
+ EnableAllWarnings
+
+
+ Console
+ true
+
+
+
+
+ Disabled
+ EnableAllWarnings
+
+
+ Console
+ true
+
+
+
+
+ MaxSpeed
+ true
+ true
+ EnableAllWarnings
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ MaxSpeed
+ true
+ true
+ EnableAllWarnings
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vsprojects/Ray.vcxproj.filters b/vsprojects/Ray.vcxproj.filters
new file mode 100644
index 000000000..7074760a7
--- /dev/null
+++ b/vsprojects/Ray.vcxproj.filters
@@ -0,0 +1,55 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {1adfc471-34d7-4d59-b8de-ddfe22d5fa30}
+
+
+
+
+ Source Files
+
+
+ Source Files\protobufs
+
+
+ Source Files\protobufs
+
+
+ Source Files\protobufs
+
+
+ Source Files\protobufs
+
+
+ Source Files\protobufs
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vsprojects/RayLib.props b/vsprojects/RayLib.props
new file mode 100644
index 000000000..5600a7514
--- /dev/null
+++ b/vsprojects/RayLib.props
@@ -0,0 +1,22 @@
+
+
+
+
+
+ .pyd
+ lib$(ProjectName)
+
+
+
+
+
+
+
+ python27.lib;%(AdditionalDependencies)
+
+
+ XCopy /B /Y /I /E "$(ProjectDir)..\lib\python\ray" "$(OutDir)ray"
+
+
+
+
\ No newline at end of file
diff --git a/vsprojects/RayLib.vcxproj b/vsprojects/RayLib.vcxproj
new file mode 100644
index 000000000..b875ab701
--- /dev/null
+++ b/vsprojects/RayLib.vcxproj
@@ -0,0 +1,203 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}
+ Win32Proj
+ 8.1
+ raylib
+
+
+
+ true
+ v140
+ Unicode
+ DynamicLibrary
+
+
+ false
+ v140
+ Unicode
+ DynamicLibrary
+
+
+ true
+ v140
+ Unicode
+ DynamicLibrary
+
+
+ false
+ v140
+ Unicode
+ DynamicLibrary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {10e7d8e8-0eeb-46ea-a58d-f9236b5960ad}
+
+
+ {c002f9f6-8447-4b95-aa18-fb781f4a7865}
+
+
+
+
\ No newline at end of file
diff --git a/vsprojects/RayLib.vcxproj.filters b/vsprojects/RayLib.vcxproj.filters
new file mode 100644
index 000000000..a6eeec774
--- /dev/null
+++ b/vsprojects/RayLib.vcxproj.filters
@@ -0,0 +1,102 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {670b10a8-e1e8-4cba-ab9f-13bcd990ccec}
+
+
+ {c187b201-02bc-4abc-a53c-f7173bd7520a}
+
+
+ {d6d2cf0f-350f-4ba4-a009-23342f47a731}
+
+
+ {43371834-59c6-46eb-a97b-0a17501d3175}
+
+
+ {873d1bc4-095c-407b-a6ff-066cb88ca022}
+
+
+ {3222a6d7-2377-4be1-8aa1-d856d756047d}
+
+
+ {052fd44b-f361-47b9-b341-140b050baa85}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\pynumbuf
+
+
+ Source Files\numbuf
+
+
+ Source Files\numbuf
+
+
+ Source Files\numbuf
+
+
+ Source Files\numbuf
+
+
+ Source Files\pynumbuf\adapters
+
+
+ Source Files\pynumbuf\adapters
+
+
+
+
+ Header Files
+
+
+ Header Files\pynumbuf
+
+
+ Header Files\numbuf
+
+
+ Header Files\numbuf
+
+
+ Header Files\numbuf
+
+
+ Header Files\numbuf
+
+
+ Header Files\numbuf\util
+
+
+ Header Files\numbuf\util
+
+
+ Header Files\numbuf\util
+
+
+ Header Files\pynumbuf\adapters
+
+
+ Header Files\pynumbuf\adapters
+
+
+
\ No newline at end of file
diff --git a/vsprojects/Scheduler.vcxproj b/vsprojects/Scheduler.vcxproj
new file mode 100644
index 000000000..db2300a34
--- /dev/null
+++ b/vsprojects/Scheduler.vcxproj
@@ -0,0 +1,164 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {D4F50B21-7FDE-41CE-87F5-2CF71178EF40}
+ Win32Proj
+ 8.1
+
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ {c002f9f6-8447-4b95-aa18-fb781f4a7865}
+
+
+ {76be8e91-0f74-4276-a6a7-b279c6fea0d2}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vsprojects/Scheduler.vcxproj.filters b/vsprojects/Scheduler.vcxproj.filters
new file mode 100644
index 000000000..9f9201c90
--- /dev/null
+++ b/vsprojects/Scheduler.vcxproj.filters
@@ -0,0 +1,33 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/vsprojects/packages.config b/vsprojects/packages.config
new file mode 100644
index 000000000..c6863e4e4
--- /dev/null
+++ b/vsprojects/packages.config
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file