Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 21 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,13 @@ jobs:
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: "10.0.x"
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj
- run: dotnet test desktop/CodexProviderSync.App.Tests/CodexProviderSync.App.Tests.csproj
- run: dotnet build CodexProviderSync.sln --configuration Release
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.Application.Tests/CodexProviderSync.Application.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.Automation.Tests/CodexProviderSync.Automation.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.App.Tests/CodexProviderSync.App.Tests.csproj --configuration Release --no-build
- name: Run GUI E2E contract tests (not headful)
run: dotnet test desktop/CodexProviderSync.GuiE2E.Tests/CodexProviderSync.GuiE2E.Tests.csproj --configuration Release --no-build

desktop-macos:
runs-on: macos-latest
Expand All @@ -48,26 +53,39 @@ jobs:
with:
dotnet-version: "10.0.x"
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj
- run: dotnet test desktop/CodexProviderSync.Application.Tests/CodexProviderSync.Application.Tests.csproj
- run: dotnet build desktop/CodexProviderSync.Mac/CodexProviderSync.Mac.csproj --configuration Release

desktop-linux-lock:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: "10.0.x"
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj --filter FullyQualifiedName~LockServiceTests

ci-gate:
name: ci-gate
if: ${{ always() }}
needs:
- test
- desktop-test
- desktop-macos
- desktop-linux-lock
runs-on: ubuntu-latest
steps:
- name: Verify required jobs
env:
NODE_TEST_RESULT: ${{ needs.test.result }}
DESKTOP_TEST_RESULT: ${{ needs.desktop-test.result }}
MACOS_TEST_RESULT: ${{ needs.desktop-macos.result }}
LINUX_LOCK_RESULT: ${{ needs.desktop-linux-lock.result }}
run: |
if [ "$NODE_TEST_RESULT" != "success" ] ||
[ "$DESKTOP_TEST_RESULT" != "success" ] ||
[ "$MACOS_TEST_RESULT" != "success" ]; then
[ "$MACOS_TEST_RESULT" != "success" ] ||
[ "$LINUX_LOCK_RESULT" != "success" ]; then
echo "One or more required CI jobs did not succeed."
exit 1
fi
13 changes: 9 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,15 @@ jobs:

- run: npm ci
- run: npm test
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj
- run: dotnet test desktop/CodexProviderSync.App.Tests/CodexProviderSync.App.Tests.csproj

- name: Build Windows GUI
- run: dotnet build CodexProviderSync.sln --configuration Release
- run: dotnet test desktop/CodexProviderSync.Core.Tests/CodexProviderSync.Core.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.Application.Tests/CodexProviderSync.Application.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.Automation.Tests/CodexProviderSync.Automation.Tests.csproj --configuration Release --no-build
- run: dotnet test desktop/CodexProviderSync.App.Tests/CodexProviderSync.App.Tests.csproj --configuration Release --no-build
- name: Run GUI E2E contract tests (not headful)
run: dotnet test desktop/CodexProviderSync.GuiE2E.Tests/CodexProviderSync.GuiE2E.Tests.csproj --configuration Release --no-build

- name: Build Windows GUI and Business Automation API
shell: pwsh
run: ./scripts/publish-gui.ps1 -Output artifacts/win-x64

Expand Down
16 changes: 16 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,22 @@ The tool works by updating both:
- rollout metadata under `~/.codex/sessions` and `~/.codex/archived_sessions`
- SQLite thread metadata in the resolved Codex state database

## Architecture Direction

`docs/AUTOMATION_DESIGN_NOTES.md` records the experimental 0.x direction.
It is not a public compatibility contract. No Automation executable, stable
JSONL protocol, or UI probe is currently shipped.

For Windows GUI work:

- move UI-independent state, validation, and Core request construction into the
Application/controller layer incrementally
- keep Core authoritative for config, rollout, SQLite, backup, restore, and
storage-safety behavior
- keep WinForms handlers focused on presentation and platform interaction
- preserve observable behavior and add controller tests for each migrated slice
- prefer controller tests over adding new reflection-based MainForm business tests

Resolve SQLite Home in this order: explicit CLI/GUI override, root `sqlite_home` in `config.toml`, `CODEX_SQLITE_HOME`, then `<codex-home>/sqlite`. Only the default layout may fall back to `<codex-home>/state_5.sqlite`. Never fall back when an explicit/config/environment SQLite Home is missing.

On Windows, `\\wsl.localhost\...` and `\\wsl$\...` SQLite Homes are diagnostic-only. SQLite operations for these paths run inside WSL and use the corresponding Linux path.
Expand Down
135 changes: 135 additions & 0 deletions CodexProviderSync.sln
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,26 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.Mac", "de
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.Core", "desktop\CodexProviderSync.Core\CodexProviderSync.Core.csproj", "{0BAD4EAB-F18E-405C-AA1F-0D08B03B599B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.Application", "desktop\CodexProviderSync.Application\CodexProviderSync.Application.csproj", "{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.Automation", "desktop\CodexProviderSync.Automation\CodexProviderSync.Automation.csproj", "{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.GuiE2E", "desktop\CodexProviderSync.GuiE2E\CodexProviderSync.GuiE2E.csproj", "{B8C38C3E-5C80-4F69-B4AB-55772F61A138}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.App.Tests", "desktop\CodexProviderSync.App.Tests\CodexProviderSync.App.Tests.csproj", "{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.Application.Tests", "desktop\CodexProviderSync.Application.Tests\CodexProviderSync.Application.Tests.csproj", "{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.Automation.Tests", "desktop\CodexProviderSync.Automation.Tests\CodexProviderSync.Automation.Tests.csproj", "{E650246E-C6E1-4E34-9CF7-9890CE46B65C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.GuiE2E.Tests", "desktop\CodexProviderSync.GuiE2E.Tests\CodexProviderSync.GuiE2E.Tests.csproj", "{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.PlanClaimHost", "desktop\CodexProviderSync.Application.Tests\ClaimHost\CodexProviderSync.PlanClaimHost.csproj", "{577DF582-39B9-4306-8F51-DB65DFD375E0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.CrashHost", "desktop\CodexProviderSync.Core.Tests\CrashHost\CodexProviderSync.CrashHost.csproj", "{1DD4AD0F-F74F-452B-8633-96326FE0769E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodexProviderSync.Core.Tests", "desktop\CodexProviderSync.Core.Tests\CodexProviderSync.Core.Tests.csproj", "{3D212656-31F9-4591-A19C-B7F77EE09AA3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -59,6 +77,42 @@ Global
{0BAD4EAB-F18E-405C-AA1F-0D08B03B599B}.Release|x64.Build.0 = Release|Any CPU
{0BAD4EAB-F18E-405C-AA1F-0D08B03B599B}.Release|x86.ActiveCfg = Release|Any CPU
{0BAD4EAB-F18E-405C-AA1F-0D08B03B599B}.Release|x86.Build.0 = Release|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Debug|x64.ActiveCfg = Debug|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Debug|x64.Build.0 = Debug|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Debug|x86.ActiveCfg = Debug|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Debug|x86.Build.0 = Debug|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Release|Any CPU.Build.0 = Release|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Release|x64.ActiveCfg = Release|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Release|x64.Build.0 = Release|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Release|x86.ActiveCfg = Release|Any CPU
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A}.Release|x86.Build.0 = Release|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Debug|x64.ActiveCfg = Debug|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Debug|x64.Build.0 = Debug|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Debug|x86.ActiveCfg = Debug|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Debug|x86.Build.0 = Debug|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Release|Any CPU.Build.0 = Release|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Release|x64.ActiveCfg = Release|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Release|x64.Build.0 = Release|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Release|x86.ActiveCfg = Release|Any CPU
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761}.Release|x86.Build.0 = Release|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Debug|x64.ActiveCfg = Debug|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Debug|x64.Build.0 = Debug|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Debug|x86.ActiveCfg = Debug|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Debug|x86.Build.0 = Debug|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Release|Any CPU.Build.0 = Release|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Release|x64.ActiveCfg = Release|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Release|x64.Build.0 = Release|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Release|x86.ActiveCfg = Release|Any CPU
{B8C38C3E-5C80-4F69-B4AB-55772F61A138}.Release|x86.Build.0 = Release|Any CPU
{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand All @@ -71,6 +125,78 @@ Global
{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914}.Release|x64.Build.0 = Release|Any CPU
{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914}.Release|x86.ActiveCfg = Release|Any CPU
{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914}.Release|x86.Build.0 = Release|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Debug|x64.ActiveCfg = Debug|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Debug|x64.Build.0 = Debug|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Debug|x86.ActiveCfg = Debug|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Debug|x86.Build.0 = Debug|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Release|Any CPU.Build.0 = Release|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Release|x64.ActiveCfg = Release|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Release|x64.Build.0 = Release|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Release|x86.ActiveCfg = Release|Any CPU
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9}.Release|x86.Build.0 = Release|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Debug|x64.ActiveCfg = Debug|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Debug|x64.Build.0 = Debug|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Debug|x86.ActiveCfg = Debug|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Debug|x86.Build.0 = Debug|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Release|Any CPU.Build.0 = Release|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Release|x64.ActiveCfg = Release|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Release|x64.Build.0 = Release|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Release|x86.ActiveCfg = Release|Any CPU
{E650246E-C6E1-4E34-9CF7-9890CE46B65C}.Release|x86.Build.0 = Release|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Debug|x64.ActiveCfg = Debug|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Debug|x64.Build.0 = Debug|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Debug|x86.ActiveCfg = Debug|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Debug|x86.Build.0 = Debug|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Release|Any CPU.Build.0 = Release|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Release|x64.ActiveCfg = Release|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Release|x64.Build.0 = Release|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Release|x86.ActiveCfg = Release|Any CPU
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589}.Release|x86.Build.0 = Release|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Debug|x64.ActiveCfg = Debug|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Debug|x64.Build.0 = Debug|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Debug|x86.ActiveCfg = Debug|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Debug|x86.Build.0 = Debug|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Release|Any CPU.Build.0 = Release|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Release|x64.ActiveCfg = Release|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Release|x64.Build.0 = Release|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Release|x86.ActiveCfg = Release|Any CPU
{577DF582-39B9-4306-8F51-DB65DFD375E0}.Release|x86.Build.0 = Release|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Debug|x64.ActiveCfg = Debug|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Debug|x64.Build.0 = Debug|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Debug|x86.ActiveCfg = Debug|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Debug|x86.Build.0 = Debug|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Release|Any CPU.Build.0 = Release|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Release|x64.ActiveCfg = Release|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Release|x64.Build.0 = Release|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Release|x86.ActiveCfg = Release|Any CPU
{1DD4AD0F-F74F-452B-8633-96326FE0769E}.Release|x86.Build.0 = Release|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Debug|x64.ActiveCfg = Debug|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Debug|x64.Build.0 = Debug|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Debug|x86.ActiveCfg = Debug|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Debug|x86.Build.0 = Debug|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Release|Any CPU.Build.0 = Release|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Release|x64.ActiveCfg = Release|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Release|x64.Build.0 = Release|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Release|x86.ActiveCfg = Release|Any CPU
{3D212656-31F9-4591-A19C-B7F77EE09AA3}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -79,6 +205,15 @@ Global
{046C07E6-8117-4F19-B2CF-683D62D944C9} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{2F00CBA5-C5E9-42BC-9F25-01641E0B8901} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{0BAD4EAB-F18E-405C-AA1F-0D08B03B599B} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{A2A9E0B8-D2F3-4E21-AEF0-6DDE4688D80A} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{D4E17AB1-7F5C-48A8-A47E-8BE5F37BD761} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{B8C38C3E-5C80-4F69-B4AB-55772F61A138} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{C2B35A41-4A58-49EC-A8D1-65F8AA6D9914} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{F4F86035-7CC3-4D8E-BA71-1C87E2A7E2E9} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{E650246E-C6E1-4E34-9CF7-9890CE46B65C} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{9E3EA4B7-BD0E-48CD-B74A-C4E4F1F44589} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{577DF582-39B9-4306-8F51-DB65DFD375E0} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{1DD4AD0F-F74F-452B-8633-96326FE0769E} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
{3D212656-31F9-4591-A19C-B7F77EE09AA3} = {7A1224A0-F22D-34FF-DE0A-A058FAFFD90C}
EndGlobalSection
EndGlobal
Loading