code cleanup; build x86 per default

This commit is contained in:
Jeddunk 2021-12-22 13:15:28 +01:00
parent 0239ffbb27
commit 71021ee767
14 changed files with 110 additions and 91 deletions

View File

@ -4,6 +4,7 @@
<TargetFramework>netcoreapp3.1</TargetFramework> <TargetFramework>netcoreapp3.1</TargetFramework>
<FileVersion>0.2.0</FileVersion> <FileVersion>0.2.0</FileVersion>
<Company>Jeddunk</Company> <Company>Jeddunk</Company>
<Platforms>AnyCPU;x86;x64</Platforms>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -35,21 +35,21 @@ namespace GoldbergGUI.Core.Models
/// List of DLC /// List of DLC
/// </summary> /// </summary>
public List<DlcApp> DlcList { get; set; } public List<DlcApp> DlcList { get; set; }
public List<int> Depots { get; set; } public List<int> Depots { get; set; }
public List<Group> SubscribedGroups { get; set; } public List<Group> SubscribedGroups { get; set; }
//public List<AppPath> AppPaths { get; set; } //public List<AppPath> AppPaths { get; set; }
public List<Achievement> Achievements { get; set; } public List<Achievement> Achievements { get; set; }
public List<Item> Items { get; set; } public List<Item> Items { get; set; }
public List<Leaderboard> Leaderboards { get; set; } public List<Leaderboard> Leaderboards { get; set; }
public List<Stat> Stats { get; set; } public List<Stat> Stats { get; set; }
// Add controller setting here! // Add controller setting here!
/// <summary> /// <summary>
/// Set offline mode. /// Set offline mode.
@ -63,7 +63,7 @@ namespace GoldbergGUI.Core.Models
/// Disable overlay (experimental only). /// Disable overlay (experimental only).
/// </summary> /// </summary>
public bool DisableOverlay { get; set; } public bool DisableOverlay { get; set; }
public GoldbergGlobalConfiguration OverwrittenGlobalConfiguration { get; set; } public GoldbergGlobalConfiguration OverwrittenGlobalConfiguration { get; set; }
} }
@ -73,12 +73,12 @@ namespace GoldbergGUI.Core.Models
public DlcApp(SteamApp steamApp) public DlcApp(SteamApp steamApp)
{ {
this.AppId = steamApp.AppId; AppId = steamApp.AppId;
this.Name = steamApp.Name; Name = steamApp.Name;
this.ComparableName = steamApp.ComparableName; ComparableName = steamApp.ComparableName;
this.AppType = steamApp.AppType; AppType = steamApp.AppType;
this.LastModified = steamApp.LastModified; LastModified = steamApp.LastModified;
this.PriceChangeNumber = steamApp.PriceChangeNumber; PriceChangeNumber = steamApp.PriceChangeNumber;
} }
/// <summary> /// <summary>
@ -109,40 +109,40 @@ namespace GoldbergGUI.Core.Models
/// Achievement description. /// Achievement description.
/// </summary> /// </summary>
[JsonPropertyName("description")] [JsonPropertyName("description")]
public string Description { get; set; } public string Description { get; set; }
/// <summary> /// <summary>
/// Human readable name, as shown on webpage, game library, overlay, etc. /// Human readable name, as shown on webpage, game library, overlay, etc.
/// </summary> /// </summary>
[JsonPropertyName("displayName")] [JsonPropertyName("displayName")]
public string DisplayName { get; set; } public string DisplayName { get; set; }
/// <summary> /// <summary>
/// Is achievement hidden? 0 = false, else true. /// Is achievement hidden? 0 = false, else true.
/// </summary> /// </summary>
[JsonPropertyName("hidden")] [JsonPropertyName("hidden")]
public int Hidden { get; set; } public int Hidden { get; set; }
/// <summary> /// <summary>
/// Path to icon when unlocked (colored). /// Path to icon when unlocked (colored).
/// </summary> /// </summary>
[JsonPropertyName("icon")] [JsonPropertyName("icon")]
public string Icon { get; set; } public string Icon { get; set; }
/// <summary> /// <summary>
/// Path to icon when locked (grayed out). /// Path to icon when locked (grayed out).
/// </summary> /// </summary>
// ReSharper disable once StringLiteralTypo // ReSharper disable once StringLiteralTypo
[JsonPropertyName("icongray")] [JsonPropertyName("icongray")]
public string IconGray { get; set; } public string IconGray { get; set; }
/// <summary> /// <summary>
/// Internal name. /// Internal name.
/// </summary> /// </summary>
[JsonPropertyName("name")] [JsonPropertyName("name")]
public string Name { get; set; } public string Name { get; set; }
} }
public class Item public class Item
{ {
[JsonPropertyName("Timestamp")] [JsonPropertyName("Timestamp")]

View File

@ -1,6 +1,6 @@
using SQLite;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using SQLite;
// ReSharper disable UnusedMember.Global // ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global // ReSharper disable ClassNeverInstantiated.Global

View File

@ -1,3 +1,6 @@
using GoldbergGUI.Core.Models;
using GoldbergGUI.Core.Utils;
using MvvmCross.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -7,9 +10,6 @@ using System.Net.Http;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using GoldbergGUI.Core.Models;
using GoldbergGUI.Core.Utils;
using MvvmCross.Logging;
namespace GoldbergGUI.Core.Services namespace GoldbergGUI.Core.Services
{ {
@ -249,7 +249,7 @@ namespace GoldbergGUI.Core.Services
{ {
var match = appPathExpression.Match(line); var match = appPathExpression.Match(line);
if (!match.Success) continue; if (!match.Success) continue;
var i = dlcList.FindIndex(x => var i = dlcList.FindIndex(x =>
x.AppId.Equals(Convert.ToInt32(match.Groups["id"].Value))); x.AppId.Equals(Convert.ToInt32(match.Groups["id"].Value)));
dlcList[i].AppPath = match.Groups["appPath"].Value; dlcList[i].AppPath = match.Groups["appPath"].Value;
} }
@ -319,14 +319,14 @@ namespace GoldbergGUI.Core.Services
}); });
await File.WriteAllTextAsync(Path.Combine(path, "steam_settings", "DLC.txt"), dlcContent) await File.WriteAllTextAsync(Path.Combine(path, "steam_settings", "DLC.txt"), dlcContent)
.ConfigureAwait(false); .ConfigureAwait(false);
/*if (!string.IsNullOrEmpty(depotContent)) /*if (!string.IsNullOrEmpty(depotContent))
{ {
await File.WriteAllTextAsync(Path.Combine(path, "steam_settings", "depots.txt"), depotContent) await File.WriteAllTextAsync(Path.Combine(path, "steam_settings", "depots.txt"), depotContent)
.ConfigureAwait(false); .ConfigureAwait(false);
}*/ }*/
if (!string.IsNullOrEmpty(appPathContent)) if (!string.IsNullOrEmpty(appPathContent))
{ {
await File.WriteAllTextAsync(Path.Combine(path, "steam_settings", "app_paths.txt"), appPathContent) await File.WriteAllTextAsync(Path.Combine(path, "steam_settings", "app_paths.txt"), appPathContent)

View File

@ -1,10 +1,3 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Dom; using AngleSharp.Dom;
using AngleSharp.Html.Parser; using AngleSharp.Html.Parser;
using GoldbergGUI.Core.Models; using GoldbergGUI.Core.Models;
@ -13,6 +6,13 @@ using MvvmCross.Logging;
using NinjaNye.SearchExtensions; using NinjaNye.SearchExtensions;
using SQLite; using SQLite;
using SteamStorefrontAPI; using SteamStorefrontAPI;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace GoldbergGUI.Core.Services namespace GoldbergGUI.Core.Services
{ {
@ -91,7 +91,7 @@ namespace GoldbergGUI.Core.Services
static SteamApps DeserializeSteamApps(Type type, string cacheString) static SteamApps DeserializeSteamApps(Type type, string cacheString)
{ {
return type == typeof(SteamAppsV2) return type == typeof(SteamAppsV2)
? (SteamApps) JsonSerializer.Deserialize<SteamAppsV2>(cacheString) ? (SteamApps)JsonSerializer.Deserialize<SteamAppsV2>(cacheString)
: JsonSerializer.Deserialize<SteamAppsV1>(cacheString); : JsonSerializer.Deserialize<SteamAppsV1>(cacheString);
} }
@ -196,7 +196,7 @@ namespace GoldbergGUI.Core.Services
// Return current list if we don't intend to use SteamDB // Return current list if we don't intend to use SteamDB
if (!useSteamDb) return dlcList; if (!useSteamDb) return dlcList;
try try
{ {
var steamDbUri = new Uri($"https://steamdb.info/app/{steamApp.AppId}/dlc/"); var steamDbUri = new Uri($"https://steamdb.info/app/{steamApp.AppId}/dlc/");
@ -229,7 +229,7 @@ namespace GoldbergGUI.Core.Services
var dlcName = query3 != null var dlcName = query3 != null
? query3[1].Text().Replace("\n", "").Trim() ? query3[1].Text().Replace("\n", "").Trim()
: $"Unknown DLC {dlcId}"; : $"Unknown DLC {dlcId}";
var dlcApp = new DlcApp {AppId = Convert.ToInt32(dlcId), Name = dlcName}; var dlcApp = new DlcApp { AppId = Convert.ToInt32(dlcId), Name = dlcName };
var i = dlcList.FindIndex(x => x.AppId.Equals(dlcApp.AppId)); var i = dlcList.FindIndex(x => x.AppId.Equals(dlcApp.AppId));
if (i > -1) if (i > -1)
{ {

View File

@ -1,8 +1,7 @@
using System;
using System.Threading.Tasks;
using MvvmCross.Exceptions; using MvvmCross.Exceptions;
using MvvmCross.Navigation; using MvvmCross.Navigation;
using MvvmCross.ViewModels; using MvvmCross.ViewModels;
using System.Threading.Tasks;
namespace GoldbergGUI.Core.Utils namespace GoldbergGUI.Core.Utils
{ {

View File

@ -7,15 +7,15 @@ namespace GoldbergGUI.Core.Utils
public class GlobalHelp public class GlobalHelp
{ {
public static string Header => public static string Header =>
"Information\n"; "Information\n";
public static string TextPreLink => public static string TextPreLink =>
"Usually these settings are saved under"; "Usually these settings are saved under";
public static string Link => "%APPDATA%\\Goldberg SteamEmu Saves\\settings"; public static string Link => "%APPDATA%\\Goldberg SteamEmu Saves\\settings";
public static string TextPostLink => public static string TextPostLink =>
", which makes these " + ", which makes these " +
"available for every game that uses the Goldberg Emulator. However, if you want to set specific settings " + "available for every game that uses the Goldberg Emulator. However, if you want to set specific settings " +
"for certain games (e.g. different language), you can remove the \"Global\" checkmark next to the option " + "for certain games (e.g. different language), you can remove the \"Global\" checkmark next to the option " +

View File

@ -1,4 +1,12 @@
using System; using GoldbergGUI.Core.Models;
using GoldbergGUI.Core.Services;
using GoldbergGUI.Core.Utils;
using Microsoft.Win32;
using MvvmCross.Commands;
using MvvmCross.Logging;
using MvvmCross.Navigation;
using MvvmCross.ViewModels;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Diagnostics; using System.Diagnostics;
@ -9,14 +17,6 @@ using System.Runtime.InteropServices;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using GoldbergGUI.Core.Models;
using GoldbergGUI.Core.Services;
using GoldbergGUI.Core.Utils;
using Microsoft.Win32;
using MvvmCross.Commands;
using MvvmCross.Logging;
using MvvmCross.Navigation;
using MvvmCross.ViewModels;
namespace GoldbergGUI.Core.ViewModels namespace GoldbergGUI.Core.ViewModels
{ {
@ -264,7 +264,7 @@ namespace GoldbergGUI.Core.ViewModels
public static string AboutVersionText => public static string AboutVersionText =>
FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion;
public static GlobalHelp G => new GlobalHelp(); public static GlobalHelp G => new GlobalHelp();
// COMMANDS // // COMMANDS //
@ -380,7 +380,7 @@ namespace GoldbergGUI.Core.ViewModels
MainWindowEnabled = false; MainWindowEnabled = false;
StatusText = "Trying to get list of DLCs..."; StatusText = "Trying to get list of DLCs...";
var listOfDlc = await _steam.GetListOfDlc(new SteamApp {AppId = AppId, Name = GameName}, true) var listOfDlc = await _steam.GetListOfDlc(new SteamApp { AppId = AppId, Name = GameName }, true)
.ConfigureAwait(false); .ConfigureAwait(false);
DLCs = new MvxObservableCollection<DlcApp>(listOfDlc); DLCs = new MvxObservableCollection<DlcApp>(listOfDlc);
MainWindowEnabled = true; MainWindowEnabled = true;
@ -402,8 +402,8 @@ namespace GoldbergGUI.Core.ViewModels
_log.Info("Saving global settings..."); _log.Info("Saving global settings...");
var globalConfiguration = new GoldbergGlobalConfiguration var globalConfiguration = new GoldbergGlobalConfiguration
{ {
AccountName = AccountName, AccountName = AccountName,
UserSteamId = SteamId, UserSteamId = SteamId,
Language = SelectedLanguage Language = SelectedLanguage
}; };
await _goldberg.SetGlobalSettings(globalConfiguration).ConfigureAwait(false); await _goldberg.SetGlobalSettings(globalConfiguration).ConfigureAwait(false);
@ -414,13 +414,13 @@ namespace GoldbergGUI.Core.ViewModels
MainWindowEnabled = false; MainWindowEnabled = false;
StatusText = "Saving..."; StatusText = "Saving...";
await _goldberg.Save(dirPath, new GoldbergConfiguration await _goldberg.Save(dirPath, new GoldbergConfiguration
{ {
AppId = AppId, AppId = AppId,
DlcList = DLCs.ToList(), DlcList = DLCs.ToList(),
Offline = Offline, Offline = Offline,
DisableNetworking = DisableNetworking, DisableNetworking = DisableNetworking,
DisableOverlay = DisableOverlay DisableOverlay = DisableOverlay
} }
).ConfigureAwait(false); ).ConfigureAwait(false);
GoldbergApplied = _goldberg.GoldbergApplied(dirPath); GoldbergApplied = _goldberg.GoldbergApplied(dirPath);
MainWindowEnabled = true; MainWindowEnabled = true;
@ -478,13 +478,15 @@ namespace GoldbergGUI.Core.ViewModels
{ {
var result = Clipboard.GetText(); var result = Clipboard.GetText();
var expression = new Regex(@"(?<id>.*) *= *(?<name>.*)"); var expression = new Regex(@"(?<id>.*) *= *(?<name>.*)");
var pastedDlc = (from line in result.Split(new[] {"\n", "\r\n"}, var pastedDlc = (from line in result.Split(new[] { "\n", "\r\n" },
StringSplitOptions.RemoveEmptyEntries) select expression.Match(line) into match StringSplitOptions.RemoveEmptyEntries)
where match.Success select new DlcApp select expression.Match(line) into match
{ where match.Success
AppId = Convert.ToInt32(match.Groups["id"].Value), select new DlcApp
Name = match.Groups["name"].Value {
}).ToList(); AppId = Convert.ToInt32(match.Groups["id"].Value),
Name = match.Groups["name"].Value
}).ToList();
if (pastedDlc.Count > 0) if (pastedDlc.Count > 0)
{ {
DLCs.Clear(); DLCs.Clear();

View File

@ -1,10 +1,10 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using GoldbergGUI.Core.Models; using GoldbergGUI.Core.Models;
using MvvmCross.Commands; using MvvmCross.Commands;
using MvvmCross.Logging; using MvvmCross.Logging;
using MvvmCross.Navigation; using MvvmCross.Navigation;
using MvvmCross.ViewModels; using MvvmCross.ViewModels;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace GoldbergGUI.Core.ViewModels namespace GoldbergGUI.Core.ViewModels
{ {
@ -14,7 +14,7 @@ namespace GoldbergGUI.Core.ViewModels
private readonly IMvxLog _log; private readonly IMvxLog _log;
private IEnumerable<SteamApp> _apps; private IEnumerable<SteamApp> _apps;
public SearchResultViewModel(IMvxLogProvider logProvider, IMvxNavigationService navigationService) : public SearchResultViewModel(IMvxLogProvider logProvider, IMvxNavigationService navigationService) :
base(logProvider, navigationService) base(logProvider, navigationService)
{ {
_log = logProvider.GetLogFor(typeof(SearchResultViewModel)); _log = logProvider.GetLogFor(typeof(SearchResultViewModel));
@ -25,7 +25,7 @@ namespace GoldbergGUI.Core.ViewModels
{ {
Apps = parameter; Apps = parameter;
} }
public IEnumerable<SteamApp> Apps public IEnumerable<SteamApp> Apps
{ {
get => _apps; get => _apps;
@ -35,7 +35,7 @@ namespace GoldbergGUI.Core.ViewModels
RaisePropertyChanged(() => Apps); RaisePropertyChanged(() => Apps);
} }
} }
public SteamApp Selected public SteamApp Selected
{ {
get; get;

View File

@ -1,5 +1,4 @@
using MvvmCross.Core; using MvvmCross.Core;
using MvvmCross.Platforms.Wpf.Core;
using MvvmCross.Platforms.Wpf.Views; using MvvmCross.Platforms.Wpf.Views;
namespace GoldbergGUI.WPF namespace GoldbergGUI.WPF

View File

@ -2,9 +2,9 @@ using System.Windows;
[assembly: ThemeInfo( [assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page, //(used if a resource is not found in the page,
// or application resource dictionaries) // or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page, //(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries) // app, or any theme specific resource dictionaries)
)] )]

View File

@ -6,6 +6,7 @@
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<FileVersion>0.2.0</FileVersion> <FileVersion>0.2.0</FileVersion>
<Company>Jeddunk</Company> <Company>Jeddunk</Company>
<Platforms>AnyCPU;x86;x64</Platforms>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -1,20 +1,17 @@
using System;
using System.IO;
using System.Windows.Controls;
using System.Windows.Threading;
using MvvmCross.Logging; using MvvmCross.Logging;
using MvvmCross.Platforms.Wpf.Core; using MvvmCross.Platforms.Wpf.Core;
using Serilog; using Serilog;
using System.IO;
namespace GoldbergGUI.WPF namespace GoldbergGUI.WPF
{ {
public class Setup : MvxWpfSetup<Core.App> public class Setup : MvxWpfSetup<Core.App>
{ {
public override MvxLogProviderType GetDefaultLogProviderType() => MvxLogProviderType.Serilog; public override MvxLogProviderType GetDefaultLogProviderType() => MvxLogProviderType.Serilog;
protected override IMvxLogProvider CreateLogProvider() protected override IMvxLogProvider CreateLogProvider()
{ {
var logPath = Path.Combine(Directory.GetCurrentDirectory(),"goldberg_.log"); var logPath = Path.Combine(Directory.GetCurrentDirectory(), "goldberg_.log");
Log.Logger = new LoggerConfiguration() Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug() .MinimumLevel.Debug()
.WriteTo.Console() .WriteTo.Console()

View File

@ -3,24 +3,44 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 16
VisualStudioVersion = 16.0.30717.126 VisualStudioVersion = 16.0.30717.126
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoldbergGUI.Core", "GoldbergGUI.Core\GoldbergGUI.Core.csproj", "{FB205F05-83DE-4D87-8CE2-F7DA320944FD}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GoldbergGUI.Core", "GoldbergGUI.Core\GoldbergGUI.Core.csproj", "{FB205F05-83DE-4D87-8CE2-F7DA320944FD}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoldbergGUI.WPF", "GoldbergGUI.WPF\GoldbergGUI.WPF.csproj", "{84ED15D3-725C-43B1-B8C7-51759CAABBAA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GoldbergGUI.WPF", "GoldbergGUI.WPF\GoldbergGUI.WPF.csproj", "{84ED15D3-725C-43B1-B8C7-51759CAABBAA}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|Any CPU.Build.0 = Debug|Any CPU {FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|x64.ActiveCfg = Debug|x64
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|x64.Build.0 = Debug|x64
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|x86.ActiveCfg = Debug|x86
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Debug|x86.Build.0 = Debug|x86
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|Any CPU.ActiveCfg = Release|Any CPU {FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|Any CPU.Build.0 = Release|Any CPU {FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|Any CPU.Build.0 = Release|Any CPU
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|x64.ActiveCfg = Release|x64
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|x64.Build.0 = Release|x64
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|x86.ActiveCfg = Release|x86
{FB205F05-83DE-4D87-8CE2-F7DA320944FD}.Release|x86.Build.0 = Release|x86
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|Any CPU.Build.0 = Debug|Any CPU {84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|x64.ActiveCfg = Debug|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|x64.Build.0 = Debug|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|x86.ActiveCfg = Debug|x86
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Debug|x86.Build.0 = Debug|x86
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|Any CPU.ActiveCfg = Release|Any CPU {84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|Any CPU.Build.0 = Release|Any CPU {84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|Any CPU.Build.0 = Release|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|x64.ActiveCfg = Release|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|x64.Build.0 = Release|Any CPU
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|x86.ActiveCfg = Release|x86
{84ED15D3-725C-43B1-B8C7-51759CAABBAA}.Release|x86.Build.0 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE