Skip to content
Permalink
Browse files

Merge branch 'cameraexperiments'

# Conflicts:
#	paket.dependencies
#	paket.lock
#	src/Aardvark.Media.sln
#	src/Scratch/02 - DrawRects/.domaincache
  • Loading branch information...
haraldsteinlechner committed Aug 21, 2018
2 parents decfd6c + 6205c48 commit 6caf11966e0e24d51cfd043d5ea0b8b862281ddc
Showing with 10,950 additions and 3,366 deletions.
  1. +18 −18 paket.dependencies
  2. +200 −249 paket.lock
  3. +1 −1 src/Aardvark.Cef.Process/Aardvark.Cef.Process.fsproj
  4. +2 −343 src/Aardvark.Cef.WinForms.Process/Aardvark.Cef.WinForms.Process.fsproj
  5. +9 −424 src/Aardvark.Cef.WinForms/Aardvark.Cef.WinForms.fsproj
  6. +9 −424 src/Aardvark.Cef/Aardvark.Cef.fsproj
  7. +137 −7 src/Aardvark.Cef/Wrapper.fs
  8. +27 −6 src/Aardvark.Media.sln
  9. +19 −6 src/Aardvark.Service/Core/aardvark.css
  10. +311 −71 src/Aardvark.Service/Core/aardvark.js
  11. +689 −57 src/Aardvark.Service/Server.fs
  12. +18 −15 src/Aardvark.UI.Primitives/.domaincache
  13. +6 −1 src/Aardvark.UI.Primitives/Aardvark.UI.Primitives.fsproj
  14. +298 −0 src/Aardvark.UI.Primitives/ArcBallController.fs
  15. +0 −571 src/Aardvark.UI.Primitives/CameraController.fs
  16. +65 −15 src/Aardvark.UI.Primitives/CameraModel.fs
  17. +260 −7 src/Aardvark.UI.Primitives/CameraModel.g.fs
  18. +245 −0 src/Aardvark.UI.Primitives/CameraModelNew.g.fs
  19. +2 −0 src/Aardvark.UI.Primitives/Docking.fs
  20. +464 −0 src/Aardvark.UI.Primitives/FreeFlyController.fs
  21. +157 −0 src/Aardvark.UI.Primitives/IntegrationHelpers.fs
  22. +320 −0 src/Aardvark.UI.Primitives/LegacyCameraController.fs
  23. +22 −17 src/Aardvark.UI.Primitives/UI.Primitives.Simple.fs
  24. +2 −0 src/Aardvark.UI.Primitives/UI.Primitives.fs
  25. +507 −0 src/Aardvark.UI.Primitives/resources/spectrum.css
  26. +2,323 −0 src/Aardvark.UI.Primitives/resources/spectrum.js
  27. +6 −1 src/Aardvark.UI/App.fs
  28. +6 −4 src/Aardvark.UI/Attributes.fs
  29. +62 −22 src/Aardvark.UI/Core.fs
  30. +28 −10 src/Aardvark.UI/MutableApp.fs
  31. +3 −0 src/Aardvark.UI/Sg.fs
  32. +12 −8 src/Aardvark.UI/Tags.fs
  33. +28 −8 src/Aardvark.UI/Updater.fs
  34. +1 −1 src/Examples (dotnetcore)/01 - Inc/.domaincache
  35. +1 −0 src/Examples (dotnetcore)/01 - Inc/App.fs
  36. +2 −2 src/Examples (dotnetcore)/02 - RenderControl/.domaincache
  37. +11 −10 src/Examples (dotnetcore)/02 - RenderControl/App.fs
  38. +1 −1 src/Examples (dotnetcore)/02 - RenderControl/Model.fs
  39. +2 −2 src/Examples (dotnetcore)/08 - AnimationAsyncExample/.domaincache
  40. +4 −4 src/Examples (dotnetcore)/08 - AnimationAsyncExample/App.fs
  41. +1 −1 src/Examples (dotnetcore)/08 - AnimationAsyncExample/Model.fs
  42. +1 −1 src/Examples (dotnetcore)/09 - RenderModel/.domaincache
  43. +6 −6 src/Examples (dotnetcore)/09 - RenderModel/App.fs
  44. +1 −1 src/Examples (dotnetcore)/10 - Drawing3D/.domaincache
  45. +1 −1 src/Examples (dotnetcore)/10 - Drawing3D/DrawingApp.fs
  46. +2 −2 src/Examples (dotnetcore)/11 - BoxSelection/.domaincache
  47. +5 −4 src/Examples (dotnetcore)/11 - BoxSelection/App.fs
  48. +1 −1 src/Examples (dotnetcore)/11 - BoxSelection/Model.fs
  49. +1 −1 src/Examples (dotnetcore)/12 - NavigationDemo/.domaincache
  50. +8 −7 src/Examples (dotnetcore)/12 - NavigationDemo/App.fs
  51. +2 −2 src/Examples (dotnetcore)/13 - Pages/.domaincache
  52. +4 −4 src/Examples (dotnetcore)/13 - Pages/App.fs
  53. +1 −1 src/Examples (dotnetcore)/13 - Pages/Model.fs
  54. +1 −1 src/Examples (dotnetcore)/14 - OpenFile/.domaincache
  55. +1 −1 src/Examples (dotnetcore)/14 - OpenFile/App.fs
  56. +2 −2 src/Examples (dotnetcore)/16 - ElectronUsage/.domaincache
  57. +4 −4 src/Examples (dotnetcore)/16 - ElectronUsage/App.fs
  58. +1 −1 src/Examples (dotnetcore)/16 - ElectronUsage/Model.fs
  59. +1 −1 src/Examples (dotnetcore)/17 - SubApps/.domaincache
  60. +36 −1 src/Examples (dotnetcore)/17 - SubApps/App.fs
  61. +5 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/.domaincache
  62. +29 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/18 - CameraControllerSettings.fsproj
  63. +6 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/App.config
  64. +106 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/App.fs
  65. +41 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/AssemblyInfo.fs
  66. +33 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/Model.fs
  67. +47 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/Model.g.fs
  68. +49 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/Program.fs
  69. +19 −0 src/Examples (dotnetcore)/18 - CameraControllerSettings/paket.references
  70. +89 −165 src/Examples (net471)/Hello World (net471)/Hello World (CEF).fsproj
  71. +9 −424 src/Examples (net471)/RenderToTextureExample/RenderToTextureExample.fsproj
  72. +3 −3 src/Scratch/01 - PerfTest/.domaincache
  73. +4 −4 src/Scratch/01 - PerfTest/App.fs
  74. +1 −1 src/Scratch/01 - PerfTest/Model.fs
  75. +7 −5 src/Scratch/02 - DrawRects/.domaincache
  76. +4 −0 src/Scratch/02 - DrawRects/02 - DrawRects.fsproj
  77. +342 −23 src/Scratch/02 - DrawRects/App.fs
  78. +51 −0 src/Scratch/02 - DrawRects/ColorPicker.fs
  79. +33 −10 src/Scratch/02 - DrawRects/Model.fs
  80. +71 −35 src/Scratch/02 - DrawRects/Model.g.fs
  81. +10 −19 src/Scratch/02 - DrawRects/Program.fs
  82. +28 −0 src/Scratch/02 - DrawRects/RenderQuads.fs
  83. +13 −0 src/Scratch/02 - DrawRects/resources/drawRects.css
  84. +14 −0 src/Scratch/02 - DrawRects/resources/drawRects.js
  85. +1 −1 src/Scratch/03 - LinePicking/App.fs
  86. +4 −0 src/Scratch/05 - CefExperiments/.domaincache
  87. +1,823 −0 src/Scratch/05 - CefExperiments/05 - CefExperiments.fsproj
  88. +6 −0 src/Scratch/05 - CefExperiments/App.config
  89. +41 −0 src/Scratch/05 - CefExperiments/AssemblyInfo.fs
  90. +16 −0 src/Scratch/05 - CefExperiments/Model.fs
  91. +84 −0 src/Scratch/05 - CefExperiments/Model.g.fs
  92. +316 −0 src/Scratch/05 - CefExperiments/Program.fs
  93. +24 −0 src/Scratch/05 - CefExperiments/paket.references
  94. +6 −0 src/Scratch/06 - DrawRectsShader/.domaincache
  95. +30 −0 src/Scratch/06 - DrawRectsShader/06 - DrawRectsShader.fsproj
  96. +6 −0 src/Scratch/06 - DrawRectsShader/App.config
  97. +491 −0 src/Scratch/06 - DrawRectsShader/App.fs
  98. +41 −0 src/Scratch/06 - DrawRectsShader/AssemblyInfo.fs
  99. +56 −0 src/Scratch/06 - DrawRectsShader/Model.fs
  100. +198 −0 src/Scratch/06 - DrawRectsShader/Model.g.fs
  101. +54 −0 src/Scratch/06 - DrawRectsShader/Program.fs
  102. +173 −0 src/Scratch/06 - DrawRectsShader/Utils.fs
  103. +19 −0 src/Scratch/06 - DrawRectsShader/paket.references
  104. +13 −0 src/Scratch/06 - DrawRectsShader/resources/drawRects.css
  105. +88 −164 src/Scratch/Aardvark.Service.Demo/{Aardvark.Service.Demo.fsproj → Aardvark.Service.Demo.fsproj_off}
  106. +88 −164 src/Scratch/Examples_Old/{Examples_old.fsproj → Examples_old.fsproj_off}
@@ -4,19 +4,19 @@ source https://vrvis.myget.org/F/aardvark_public/api/v3/index.json

nuget FSharp.Core ~> 4.3.0

nuget Aardvark.Base ~> 4.0.15
nuget Aardvark.Base.Incremental ~> 4.0.15
nuget Aardvark.Base.FSharp ~> 4.0.15
nuget Aardvark.Base.Essentials ~> 4.0.15

nuget Aardvark.Base.Rendering ~> 4.2.0
nuget Aardvark.Application.WinForms.GL ~> 4.2.0
nuget Aardvark.Application.Slim.GL ~> 4.2.0
nuget Aardvark.SceneGraph ~> 4.2.0
nuget Aardvark.SceneGraph.IO ~> 4.2.0
nuget Aardvark.Rendering.Text ~> 4.2.0
nuget Aardvark.Rendering.Vulkan ~> 4.2.0
nuget Aardvark.GPGPU ~> 4.2.0
nuget Aardvark.Base ~> 4.0.19
nuget Aardvark.Base.Incremental ~> 4.0.19
nuget Aardvark.Base.FSharp ~> 4.0.19
nuget Aardvark.Base.Essentials ~> 4.0.19

nuget Aardvark.Base.Rendering ~> 4.3.18
nuget Aardvark.Application.WinForms.GL ~> 4.3.18
nuget Aardvark.Application.Slim.GL ~> 4.3.18
nuget Aardvark.SceneGraph ~> 4.3.18
nuget Aardvark.SceneGraph.IO ~> 4.3.18
nuget Aardvark.Rendering.Text ~> 4.3.18
nuget Aardvark.Rendering.Vulkan ~> 4.3.18
nuget Aardvark.GPGPU ~> 4.3.18

nuget Aardvark.Compiler.DomainTypes ~> 4.0.10
nuget Aardvark.Compiler.DomainTypes.MSBuild ~> 4.0.10
@@ -27,11 +27,11 @@ nuget FsPickler.Json ~> 5.2.0
nuget TurboJpegWrapper ~> 1.5.2
nuget Suave ~> 2.2.1

nuget Aardium ~> 1.0.7
nuget Aardium ~> 1.0.8

nuget Another.Unofficial.Xilium.CefGlue ~> 0.1.1
nuget Another.Unofficial.Xilium.CefGlue.UnpackNativeDependencies ~> 0.1.1
nuget Another.Unofficial.Xilium.CefGlue.WindowsForms ~> 0.1.1
nuget Another.Unofficial.Xilium.CefGlue ~> 0.2.2
nuget Another.Unofficial.Xilium.CefGlue.UnpackNativeDependencies ~> 0.2.2
nuget Another.Unofficial.Xilium.CefGlue.WindowsForms ~> 0.2.2


group Build
@@ -41,4 +41,4 @@ source https://vrvis.myget.org/F/aardvark_public/api/v3/index.json
source https://api.nuget.org/v3/index.json

nuget FSharp.Formatting.CommandTool
github aardvark-platform/aardvark.fake:v4
github aardvark-platform/aardvark.fake:v4-temp

Large diffs are not rendered by default.

@@ -157,7 +157,7 @@
</When>
</Choose>
<Choose>
<When Condition="($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.7.1') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0')">
<When Condition="($(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.7.1') Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v2.0') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v2.0')">
<ItemGroup>
<Reference Include="System.Collections.Immutable">
<HintPath>..\..\packages\System.Collections.Immutable\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -41,7 +41,7 @@ module CefExtensions =

let inline fail str = raise <| CefException ("[CEF] " + str)
let inline failf fmt = Printf.kprintf fail fmt
let inline check str v = if not v then fail str
let inline check str v = if not v then System.Diagnostics.Debugger.Launch() |> ignore; System.Diagnostics.Debugger.Break(); fail str

type CefBinaryValue with
member x.ToArray() =
@@ -163,12 +163,83 @@ module private Interop =
open Aardvark.Base
open System.Collections.Generic
open System.Reflection
open System.IO.MemoryMappedFiles

type CefResult =
| NoRet
| Success of CefV8Value
| Error of string

type KeepGC() =
inherit CefV8ArrayBufferReleaseCallback()

override x.ReleaseBuffer(_) = ()

type SharedMemory(browser : CefBrowser, ctx : CefV8Context) as this =
inherit CefV8Handler()
let functions : Dictionary<string, CefV8Value[] -> CefResult> =
typeof<SharedMemory>.GetMethods(BindingFlags.NonPublic ||| BindingFlags.Public ||| BindingFlags.Instance ||| BindingFlags.DeclaredOnly)
|> Seq.filter (fun mi -> mi.ReturnType = typeof<CefResult> && mi.GetParameters().Length = 1)
|> Seq.map (fun mi -> mi.Name, FunctionReflection.buildFunction this mi)
|> Dictionary.ofSeq

let mappings = System.Collections.Concurrent.ConcurrentDictionary<CefV8Value,unit->unit>()

member x.FunctionNames = functions.Keys

member x.close(args : CefV8Value[]) =
match mappings.TryRemove args.[0] with
| (true,f) -> f()
| _ -> Log.warn "could not remove mapping"
NoRet

member x.openMapping(args : CefV8Value[]) =
if args.Length <> 2 then
Log.warn "[CEF Saared Memory] you come to me at runtime (2 args expected)"
System.Diagnostics.Debugger.Launch() |> ignore
System.Diagnostics.Debugger.Break()
let name = args.[0].GetStringValue()
let desiredSize = args.[1].GetIntValue() |> uint64

let file = MemoryMappedFile.OpenExisting(name)
let view = file.CreateViewAccessor()

let handle = view.SafeMemoryMappedViewHandle.DangerousGetHandle()
let buffer = CefV8Value.CreateArrayBuffer(handle, desiredSize, KeepGC())

let f = CefV8Value.CreateFunction("close", x)

let obj = CefV8Value.CreateObject()
obj.SetValue("name", args.[0]) |> check "set mapping.name"
obj.SetValue("length", args.[1]) |> check "set mapping.length"
obj.SetValue("buffer", buffer) |> check "set mapping.buffer"
obj.SetValue("close", f) |> check "set mapping.close"

let dispose () =
view.Dispose()
file.Dispose()
buffer.Dispose()

mappings.TryAdd(obj, dispose) |> ignore

Success obj

override x.Execute(name, _, args, ret, exn) =
match functions.TryGetValue(name) with
| (true, f) ->
match f args with
| Success v ->
ret <- v
true
| NoRet ->
true
| Error err ->
exn <- err
false
| _ ->
exn <- sprintf "unknown function %s" name
false

type Aardvark(browser : CefBrowser, ctx : CefV8Context) as this =
inherit CefV8Handler()
let functions : Dictionary<string, CefV8Value[] -> CefResult> =
@@ -179,6 +250,7 @@ module private Interop =

member x.FunctionNames = functions.Keys


override x.Execute(name, _, args, ret, exn) =
match functions.TryGetValue(name) with
| (true, f) ->
@@ -195,6 +267,7 @@ module private Interop =
exn <- sprintf "unknown function %s" name
false


member x.testFunction(args : CefV8Value[]) =
let b = args.[0]

@@ -249,7 +322,7 @@ module private Interop =
sprintf "%A %s = %A" f.FieldType f.Name res
)

File.writeAllLines @"C:\Users\Schorsch\Desktop\bla.txt" lines
File.writeAllLines @"C:\Users\steinlechner\Desktop\bla.txt" lines

NoRet

@@ -340,7 +413,7 @@ type MessagePump() =


let start = ThreadStart(runner)
let thread = Thread(start, 1 <<< 26, IsBackground = true)
let thread = Thread(start, 1 <<< 26, IsBackground = true, Name = "CefWrapperThread")
do thread.Start()

member x.Enqueue(action : unit -> unit) =
@@ -360,7 +433,7 @@ type RenderProcessHandler() =

let javascriptUtilities =
"""
aardvark.getViewport = function(id)
document.aardvark.getViewport = function(id)
{
var doc = document.documentElement;
var dx = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
@@ -395,6 +468,51 @@ type RenderProcessHandler() =
return JSON.stringify({ isValid: true, x: left, y: top, w: w, h: h });
};
document.aardvark.openMapping = function (name, len) {
var mapping = document.aardvark.sharedMemory.openMapping(name,len);
var uint8arr = new Uint8Array(mapping.buffer);
var uint8Clamped = new Uint8ClampedArray(mapping.buffer);
var result =
{
readString: function() {
if(mapping.buffer) {
var i = 0;
var res = "";
while(uint8arr[i] != 0 && i < mapping.length) {
res += String.fromCharCode(uint8arr[i]);
i++;
}
return res;
}
else return "";
},
readImageData: function(sx, sy) {
//return new ImageData(uint8Clamped.slice(0, sx *sy * 4), sx, sy);
return new ImageData(uint8Clamped,sx, sy);
},
close: function() {
result.length = 0;
result.name = "";
result.buffer = new ArrayBuffer(0);
result.readString = function() { return ""; };
result.readImageData = function() { return null; }
result.close = function() { };
mapping.close(mapping);
},
buffer: mapping.buffer,
length: mapping.length,
name: mapping.name
};
return result;
};
"""

override x.OnContextCreated(browser : CefBrowser, frame : CefFrame, context : CefV8Context) =
@@ -406,14 +524,26 @@ type RenderProcessHandler() =
glob.SetValue("aardvark", target, CefV8PropertyAttribute.DontDelete)
|> check "could not set global aardvark-value"

//System.Diagnostics.Debugger.Launch()
//System.Diagnostics.Debugger.Break()
let aardvark = Interop.Aardvark(browser, context)
for name in aardvark.FunctionNames do
use f = CefV8Value.CreateFunction(name, aardvark)
target.SetValue(name, f, CefV8PropertyAttribute.DontDelete)
|> check "could not attach function to aardvark-value"

let sharedMemoryInterop = Interop.SharedMemory(browser, context)
use sharedMemory = CefV8Value.CreateObject()
for name in sharedMemoryInterop.FunctionNames do
use f = CefV8Value.CreateFunction(name, sharedMemoryInterop)
sharedMemory.SetValue(name, f, CefV8PropertyAttribute.DontDelete)
|> check "could not attach function to aardvark-value"

target.SetValue("sharedMemory", sharedMemory) |> check "could not set sharedMemory interop instance"

let (success, res, exn) = context.TryEval(javascriptUtilities,"javascriptUtilities.autogenerated.js", 0)



if not success then
Log.warn "could not register javascript utilities"

@@ -908,7 +1038,7 @@ type Client(runtime : IRuntime, mipMaps : bool, size : IMod<V2i>) as this =
if isNull host |> not then host.Dispose(); host <- null
base.Dispose(true)





@@ -1061,7 +1191,7 @@ type App() =
inherit CefApp()

let renderProcessHandler = lazy ( RenderProcessHandler() )
let browserProcessHandler = lazy (BrowserProcessHandler())
let browserProcessHandler = lazy ( BrowserProcessHandler() )

override x.GetRenderProcessHandler() =
renderProcessHandler.Value :> CefRenderProcessHandler
@@ -2,7 +2,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27428.2027
MinimumVisualStudioVersion = 10.0.40219.1
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "03 - LinePicking", "Scratch\03 - LinePicking\03 - LinePicking.fsproj", "{B7C449BE-F831-4492-9632-DF9B5C608C70}"
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "18 - CameraControllerSettings", "Examples (dotnetcore)\18 - CameraControllerSettings\18 - CameraControllerSettings.fsproj", "{1AA14F14-3481-4B58-9BA0-44729938B189}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "06 - DrawRectsShader", "Scratch\06 - DrawRectsShader\06 - DrawRectsShader.fsproj", "{61B377A5-2522-49E1-B040-2D5F3D7EE4D8}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "02 - DrawRects", "Scratch\02 - DrawRects\02 - DrawRects.fsproj", "{C4EBC4E9-48D2-429F-99AB-EFF991C80AFA}"
EndProject
@@ -78,16 +80,24 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "15 - Svg", "Examples (dotne
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "01 - PerfTest", "Scratch\01 - PerfTest\01 - PerfTest.fsproj", "{2F067EBB-A2A1-4267-8F9A-29551E3D10C3}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "05 - CefExperiments", "Scratch\05 - CefExperiments\05 - CefExperiments.fsproj", "{6686FD79-4826-4566-B703-C3E797018715}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "03 - LinePicking", "Scratch\03 - LinePicking\03 - LinePicking.fsproj", "{4E6C04B5-53EC-4624-BFE3-2B2C3500ED90}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B7C449BE-F831-4492-9632-DF9B5C608C70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B7C449BE-F831-4492-9632-DF9B5C608C70}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B7C449BE-F831-4492-9632-DF9B5C608C70}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B7C449BE-F831-4492-9632-DF9B5C608C70}.Release|Any CPU.Build.0 = Release|Any CPU
{1AA14F14-3481-4B58-9BA0-44729938B189}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AA14F14-3481-4B58-9BA0-44729938B189}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AA14F14-3481-4B58-9BA0-44729938B189}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AA14F14-3481-4B58-9BA0-44729938B189}.Release|Any CPU.Build.0 = Release|Any CPU
{61B377A5-2522-49E1-B040-2D5F3D7EE4D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61B377A5-2522-49E1-B040-2D5F3D7EE4D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61B377A5-2522-49E1-B040-2D5F3D7EE4D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61B377A5-2522-49E1-B040-2D5F3D7EE4D8}.Release|Any CPU.Build.0 = Release|Any CPU
{C4EBC4E9-48D2-429F-99AB-EFF991C80AFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4EBC4E9-48D2-429F-99AB-EFF991C80AFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4EBC4E9-48D2-429F-99AB-EFF991C80AFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -196,12 +206,21 @@ Global
{2F067EBB-A2A1-4267-8F9A-29551E3D10C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F067EBB-A2A1-4267-8F9A-29551E3D10C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2F067EBB-A2A1-4267-8F9A-29551E3D10C3}.Release|Any CPU.Build.0 = Release|Any CPU
{6686FD79-4826-4566-B703-C3E797018715}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6686FD79-4826-4566-B703-C3E797018715}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6686FD79-4826-4566-B703-C3E797018715}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6686FD79-4826-4566-B703-C3E797018715}.Release|Any CPU.Build.0 = Release|Any CPU
{4E6C04B5-53EC-4624-BFE3-2B2C3500ED90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E6C04B5-53EC-4624-BFE3-2B2C3500ED90}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E6C04B5-53EC-4624-BFE3-2B2C3500ED90}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E6C04B5-53EC-4624-BFE3-2B2C3500ED90}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{B7C449BE-F831-4492-9632-DF9B5C608C70} = {6886C4F9-BA04-4E56-8687-672B6A9822DF}
{1AA14F14-3481-4B58-9BA0-44729938B189} = {DAC89FC7-17D3-467D-929D-781A88DA5324}
{61B377A5-2522-49E1-B040-2D5F3D7EE4D8} = {6886C4F9-BA04-4E56-8687-672B6A9822DF}
{C4EBC4E9-48D2-429F-99AB-EFF991C80AFA} = {6886C4F9-BA04-4E56-8687-672B6A9822DF}
{2EC53267-BAD3-486B-9270-65A305443296} = {DAC89FC7-17D3-467D-929D-781A88DA5324}
{04C22CCA-E291-43C3-A124-22391B8165E6} = {DAC89FC7-17D3-467D-929D-781A88DA5324}
@@ -229,6 +248,8 @@ Global
{A75D9DF0-AFA3-44B8-9914-97CE5253A8D1} = {DAC89FC7-17D3-467D-929D-781A88DA5324}
{043DC49E-6833-41FA-AD93-45A49046AE05} = {DAC89FC7-17D3-467D-929D-781A88DA5324}
{2F067EBB-A2A1-4267-8F9A-29551E3D10C3} = {6886C4F9-BA04-4E56-8687-672B6A9822DF}
{6686FD79-4826-4566-B703-C3E797018715} = {6886C4F9-BA04-4E56-8687-672B6A9822DF}
{4E6C04B5-53EC-4624-BFE3-2B2C3500ED90} = {6886C4F9-BA04-4E56-8687-672B6A9822DF}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B7FCCF28-D562-4E8F-86A7-2310B38A1016}

0 comments on commit 6caf119

Please sign in to comment.
You can’t perform that action at this time.