docs(phase2): Stage 2 (KIS API 포팅) 완료 상태 문서화
**이 커밋 기준 현황:** Phase 1: Web UI 마이그레이션 ✅ COMPLETE - MudBlazor → Fluent UI v5 (RC) 완전 전환 - 모든 페이지 마이그레이션 완료 (0% MudBlazor 잔존) Phase 2: KIS API 및 데이터 수집 파이프라인 🔄 IN PROGRESS ✅ 완료된 작업: - KisApiClient: 5가지 quotation 메서드 (읽기 전용) - 보안: AssertReadOnly enforcement (trading API 차단) - PostgreSQL: TokenCache, CollectionRepository 구현 - Web API: 6가지 Collection 엔드포인트 - Blazor UI: Collection.razor 대시보드 완성 - Build: 0 에러 (6개 RC 경고는 패키지 RC 버전 이슈) 📋 진행 중: - Collection 엔드포인트 통합 테스트 - Python subprocess 임시 연계 (Phase 2 단계별 구현) **CLAUDE.md 업데이트 내용:** - Phase 1~3 상태 요약 - KIS API 보안 정책 문서화 - Collection API 엔드포인트 명세 - 개발 커맨드 추가 (Phase 2 테스팅 가이드) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,13 +12,42 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- **Data Source**: KIS Open API (quotations/ranking read-only), with fallbacks
|
||||
- **Key Runtimes**: .NET 9, Python 3.9+, Node.js 16+
|
||||
|
||||
### Current Status (2026-06-29)
|
||||
### Migration Phases Status (2026-06-29)
|
||||
|
||||
- ✅ Python codebase operational (1,140 files)
|
||||
- ✅ .NET 9 migration in progress (Phase 1: Web UI)
|
||||
- ✅ Blazor WASM with Fluent UI v5 RC baseline
|
||||
- ✅ ASP.NET Core API endpoints operational
|
||||
- ✅ PostgreSQL migration complete
|
||||
**Phase 1: Web UI Migration** ✅ COMPLETE
|
||||
- Blazor WebAssembly with Fluent UI v5 (RC: 5.0.0-rc.4-26177.1)
|
||||
- MudBlazor completely deprecated (0% remaining)
|
||||
- Pages: Home, Workspace, Collection, Tables, MainLayout
|
||||
- Build: 0 errors, 6 Razor RC warnings (acceptable)
|
||||
|
||||
**Phase 2: KIS Data Collection Pipeline** 🔄 IN PROGRESS
|
||||
- ✅ KIS API Client: Full implementation complete
|
||||
- IKisApiClient interface (5 quotation methods)
|
||||
- KisApiClient (with security enforcement, token caching)
|
||||
- All governance rules enforced (no trading APIs)
|
||||
- Windows env var + registry fallback for credentials
|
||||
- ✅ PostgreSQL Infrastructure: Complete
|
||||
- ITokenCache → PostgresTokenCache (token management)
|
||||
- ICollectionRepository → CollectionRepository (data storage)
|
||||
- IDataCollectionStore (abstraction layer)
|
||||
- ✅ Web API Endpoints: Complete
|
||||
- CollectionEndpoints (6 endpoints: state, runs, snapshots, errors, latest, start)
|
||||
- ApiClient for Blazor consumption
|
||||
- ✅ Blazor UI: Complete
|
||||
- Collection.razor dashboard with real-time monitoring
|
||||
- Summary cards, recent errors table, runs history
|
||||
- Start/refresh functionality
|
||||
- 🔄 Integration Testing: Pending (Python subprocess fallback active)
|
||||
|
||||
**Phase 3: Node.js→.NET CLI Tools** 📋 PLANNED
|
||||
- Makefile created (npm → make mappings)
|
||||
- np operations documented
|
||||
|
||||
**Status Summary**:
|
||||
- Python codebase: Operational (1,140 files)
|
||||
- .NET 9 coverage: Core (✅), Infrastructure (✅), API (✅), Web UI (✅)
|
||||
- Database: PostgreSQL fully migrated
|
||||
- Release gates: Python gates remain authority until Phase 2 integration testing complete
|
||||
|
||||
## Deployment & Operations
|
||||
|
||||
@@ -88,22 +117,47 @@ sudo systemctl restart quantengine-api
|
||||
| Loading | `<FluentSkeleton>` | CSS skeleton animation |
|
||||
| Icons | `<FluentIcon>` | SVG inline |
|
||||
|
||||
## Development Commands
|
||||
## Development Commands (Phase 1 + 2)
|
||||
|
||||
### Python / Node.js (Legacy & Release Gates)
|
||||
```powershell
|
||||
# NPM / Python validation
|
||||
npm install
|
||||
npm run ops:validate
|
||||
|
||||
# .NET Development (if dotnet/ folder exists)
|
||||
cd dotnet
|
||||
dotnet restore
|
||||
dotnet build
|
||||
dotnet watch run --project src/DataFeed.Api
|
||||
npm run ops:validate # Warn-only validation
|
||||
npm run full-gate # Strict validation (all gates PASS)
|
||||
npm run ops:data-collect # KIS collection (Python subprocess)
|
||||
npm run ops:release # Full release DAG
|
||||
```
|
||||
|
||||
## API Endpoints
|
||||
### .NET (Primary - Phase 1 + 2)
|
||||
```powershell
|
||||
cd dotnet
|
||||
dotnet restore
|
||||
dotnet build # Debug build
|
||||
dotnet build -c Release # Release build (recommended)
|
||||
dotnet watch run --project src/QuantEngine.Web # Hot-reload (http://localhost:5000)
|
||||
dotnet run --project src/QuantEngine.Web # Run API server
|
||||
```
|
||||
|
||||
### Collection Pipeline Testing (Phase 2)
|
||||
```powershell
|
||||
# Set credentials (Windows environment variables)
|
||||
$env:KIS_APP_Key_TEST = "mock_key"
|
||||
$env:KIS_APP_Secret_TEST = "mock_secret"
|
||||
|
||||
# Verify Blazor Collection page
|
||||
# Navigate to http://localhost:5000/collection
|
||||
# - Click "Start Collection" to trigger async run
|
||||
# - API initiates Python subprocess (temporary Phase 2 design)
|
||||
# - Dashboard updates with run status, snapshots, errors
|
||||
|
||||
# Verify API directly
|
||||
curl http://localhost:5000/api/collection/state
|
||||
curl http://localhost:5000/api/collection/runs
|
||||
```
|
||||
|
||||
## API Endpoints (Phase 1 + 2)
|
||||
|
||||
### Workspace & History (Phase 1)
|
||||
All endpoints prefixed with `/api/`:
|
||||
|
||||
| Route | Purpose |
|
||||
@@ -117,6 +171,38 @@ All endpoints prefixed with `/api/`:
|
||||
| `POST /account-snapshot/import-tsv` | Import TSV |
|
||||
| `POST /autofix` | Auto-correct data |
|
||||
|
||||
### Collection Pipeline (Phase 2)
|
||||
| Route | Purpose |
|
||||
|-------|---------|
|
||||
| `GET /collection/state` | Dashboard summary (runs, snapshots, errors) |
|
||||
| `GET /collection/runs` | Recent collection runs (paginated) |
|
||||
| `GET /collection/runs/{runId}/snapshots` | Snapshots from a run |
|
||||
| `GET /collection/runs/{runId}/errors` | Errors from a run |
|
||||
| `GET /collection/latest/{ticker}` | Latest snapshots for ticker |
|
||||
| `POST /collection/run` | Start new collection run (async) |
|
||||
|
||||
## KIS API Client Security (Phase 2)
|
||||
|
||||
### Governance Enforcement
|
||||
- **Read-Only Mandate**: `AssertReadOnly(path, trId)` blocks all trading-related endpoints
|
||||
- **Forbidden Paths**: `/trading/` substring triggers 🚫 immediate exception
|
||||
- **Forbidden TR_IDs**: TTTC* / VTTC* prefixes (buy/sell order codes) blocked
|
||||
- **Source**: `governance/rules/06_no_direct_api_trading.yaml`
|
||||
|
||||
### Token Management
|
||||
- **ITokenCache** abstraction: PostgreSQL-backed in production
|
||||
- **Credential Loading**:
|
||||
- Windows environment variables: `KIS_APP_Key`, `KIS_APP_Secret`, `KIS_APP_Key_TEST`, `KIS_APP_Secret_TEST`
|
||||
- Fallback: `HKCU\Environment` registry (Windows only)
|
||||
- Account modes: `"real"` (prod) vs `"mock"` (sandbox)
|
||||
|
||||
### Quotation Methods (All Read-Only)
|
||||
1. **GetCurrentPriceAsync** (FHKST01010100) — Current price inquiry
|
||||
2. **GetAskingPrice10LevelAsync** (FHKST01010200) — Order book (10-level)
|
||||
3. **GetDailyShortSaleAsync** (FHPST04830000) — Short-sale trends
|
||||
4. **GetDailyItemChartPriceAsync** (FHKST03010100) — Daily OHLCV data
|
||||
5. **GetInvestorTrendAsync** (FHKST01010900) — Investor sentiment (개인/외국인/기관)
|
||||
|
||||
## Notes for Contributors
|
||||
|
||||
- **SQL Safety**: Whitelist-only table access (enum switch)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+39
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
"QuantEngine.Application/1.0.0": {
|
||||
"dependencies": {
|
||||
"QuantEngine.Core": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"QuantEngine.Application.dll": {}
|
||||
}
|
||||
},
|
||||
"QuantEngine.Core/1.0.0": {
|
||||
"runtime": {
|
||||
"QuantEngine.Core.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"QuantEngine.Application/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"QuantEngine.Core/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Application")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d083eb7bf9b7e96f19b3ac73f4d514e69e495e47")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c5e6a013f40060315f33535da0c1f8af21134d52")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Application")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Application")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
9f50f44709e82a4118b82725c00939dad5bf8b2b5f5b5eca65f730487bcd98a1
|
||||
bf1c86d292c5a2ca1e8f5452dc03c75a2caebd7a699552c60b9a992210afe2c9
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
+4
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Application")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c5e6a013f40060315f33535da0c1f8af21134d52")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Application")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Application")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
863c4404b5e9e179e713800ed031459e6bd1b4563d27bf581d8f4180b174dbfe
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net10.0
|
||||
build_property.TargetFrameworkIdentifier = .NETCoreApp
|
||||
build_property.TargetFrameworkVersion = v10.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property.EntryPointFilePath =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = QuantEngine.Application
|
||||
build_property.ProjectDir = C:\Temp\data_feed\src\dotnet\QuantEngine.Application\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 10.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using System;
|
||||
global using System.Collections.Generic;
|
||||
global using System.IO;
|
||||
global using System.Linq;
|
||||
global using System.Net.Http;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
50a1a17d0b66d4e2aad7ae33d2c42deb772d97115767c08cf92bc6f6c8ee49ee
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\bin\Release\net10.0\QuantEngine.Application.deps.json
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\bin\Release\net10.0\QuantEngine.Application.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\bin\Release\net10.0\QuantEngine.Application.pdb
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\bin\Release\net10.0\QuantEngine.Core.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\bin\Release\net10.0\QuantEngine.Core.pdb
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEngine.Application.csproj.AssemblyReference.cache
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEngine.Application.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEngine.Application.AssemblyInfoInputs.cache
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEngine.Application.AssemblyInfo.cs
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEngine.Application.csproj.CoreCompileInputs.cache
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEng.294596D8.Up2Date
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEngine.Application.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\refint\QuantEngine.Application.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\QuantEngine.Application.pdb
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Application\obj\Release\net10.0\ref\QuantEngine.Application.dll
|
||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+536
@@ -0,0 +1,536 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
"QuantEngine.Core.Tests/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NET.Test.Sdk": "17.14.1",
|
||||
"QuantEngine.Application": "1.0.0",
|
||||
"QuantEngine.Core": "1.0.0",
|
||||
"QuantEngine.Infrastructure": "1.0.0",
|
||||
"xunit": "2.9.3"
|
||||
},
|
||||
"runtime": {
|
||||
"QuantEngine.Core.Tests.dll": {}
|
||||
}
|
||||
},
|
||||
"Dapper/2.1.79": {
|
||||
"runtime": {
|
||||
"lib/net10.0/Dapper.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.1.79.29349"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeCoverage/17.14.1": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.225.12603"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.52411"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/10.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.52411"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.NET.Test.Sdk/17.14.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.CodeCoverage": "17.14.1",
|
||||
"Microsoft.TestPlatform.TestHost": "17.14.1"
|
||||
}
|
||||
},
|
||||
"Microsoft.TestPlatform.ObjectModel/17.14.1": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.TestPlatform.CoreUtilities.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
},
|
||||
"lib/net8.0/Microsoft.TestPlatform.PlatformAbstractions.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
},
|
||||
"lib/net8.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/net8.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net8.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net8.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net8.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net8.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net8.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net8.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net8.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net8.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net8.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net8.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net8.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net8.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net8.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net8.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net8.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net8.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net8.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net8.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net8.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net8.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net8.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net8.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net8.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net8.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
},
|
||||
"lib/net8.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.TestPlatform.TestHost/17.14.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.TestPlatform.ObjectModel": "17.14.1",
|
||||
"Newtonsoft.Json": "13.0.3"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.TestPlatform.CommunicationUtilities.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
},
|
||||
"lib/net8.0/Microsoft.TestPlatform.CrossPlatEngine.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
},
|
||||
"lib/net8.0/Microsoft.TestPlatform.Utilities.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
},
|
||||
"lib/net8.0/Microsoft.VisualStudio.TestPlatform.Common.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
},
|
||||
"lib/net8.0/testhost.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "17.1400.125.30202"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/net8.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net8.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net8.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net8.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net8.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net8.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net8.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net8.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net8.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net8.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net8.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net8.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net8.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net8.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net8.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net8.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net8.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net8.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net8.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net8.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net8.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net8.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net8.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net8.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net8.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net8.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net8.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net8.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net8.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net8.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net8.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net8.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net8.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net8.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net8.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net8.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net8.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
},
|
||||
"lib/net8.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
},
|
||||
"lib/net8.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Newtonsoft.Json/13.0.3": {
|
||||
"runtime": {
|
||||
"lib/net6.0/Newtonsoft.Json.dll": {
|
||||
"assemblyVersion": "13.0.0.0",
|
||||
"fileVersion": "13.0.3.27908"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Npgsql/10.0.3": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Npgsql.dll": {
|
||||
"assemblyVersion": "10.0.3.0",
|
||||
"fileVersion": "10.0.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"xunit/2.9.3": {
|
||||
"dependencies": {
|
||||
"xunit.assert": "2.9.3",
|
||||
"xunit.core": "2.9.3"
|
||||
}
|
||||
},
|
||||
"xunit.abstractions/2.0.3": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/xunit.abstractions.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"xunit.assert/2.9.3": {
|
||||
"runtime": {
|
||||
"lib/net6.0/xunit.assert.dll": {
|
||||
"assemblyVersion": "2.9.3.0",
|
||||
"fileVersion": "2.9.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"xunit.core/2.9.3": {
|
||||
"dependencies": {
|
||||
"xunit.extensibility.core": "2.9.3",
|
||||
"xunit.extensibility.execution": "2.9.3"
|
||||
}
|
||||
},
|
||||
"xunit.extensibility.core/2.9.3": {
|
||||
"dependencies": {
|
||||
"xunit.abstractions": "2.0.3"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.1/xunit.core.dll": {
|
||||
"assemblyVersion": "2.9.3.0",
|
||||
"fileVersion": "2.9.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"xunit.extensibility.execution/2.9.3": {
|
||||
"dependencies": {
|
||||
"xunit.extensibility.core": "2.9.3"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.1/xunit.execution.dotnet.dll": {
|
||||
"assemblyVersion": "2.9.3.0",
|
||||
"fileVersion": "2.9.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"QuantEngine.Application/1.0.0": {
|
||||
"dependencies": {
|
||||
"QuantEngine.Core": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"QuantEngine.Application.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"QuantEngine.Core/1.0.0": {
|
||||
"runtime": {
|
||||
"QuantEngine.Core.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"QuantEngine.Infrastructure/1.0.0": {
|
||||
"dependencies": {
|
||||
"Dapper": "2.1.79",
|
||||
"Npgsql": "10.0.3",
|
||||
"QuantEngine.Application": "1.0.0",
|
||||
"QuantEngine.Core": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"QuantEngine.Infrastructure.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"QuantEngine.Core.Tests/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Dapper/2.1.79": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-8YijbzgTfmqmQOnVNorYM6K++pxqnW3nJ4aC1sRHzxUA2CcuoJ9gsTem3kgBnPRMc38zZHl4Esb6hAezXIEEuw==",
|
||||
"path": "dapper/2.1.79",
|
||||
"hashPath": "dapper.2.1.79.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.CodeCoverage/17.14.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-pmTrhfFIoplzFVbhVwUquT+77CbGH+h4/3mBpdmIlYtBi9nAB+kKI6dN3A/nV4DFi3wLLx/BlHIPK+MkbQ6Tpg==",
|
||||
"path": "microsoft.codecoverage/17.14.1",
|
||||
"hashPath": "microsoft.codecoverage.17.14.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==",
|
||||
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.0",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/10.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==",
|
||||
"path": "microsoft.extensions.logging.abstractions/10.0.0",
|
||||
"hashPath": "microsoft.extensions.logging.abstractions.10.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.NET.Test.Sdk/17.14.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-HJKqKOE+vshXra2aEHpi2TlxYX7Z9VFYkr+E5rwEvHC8eIXiyO+K9kNm8vmNom3e2rA56WqxU+/N9NJlLGXsJQ==",
|
||||
"path": "microsoft.net.test.sdk/17.14.1",
|
||||
"hashPath": "microsoft.net.test.sdk.17.14.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.TestPlatform.ObjectModel/17.14.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-xTP1W6Mi6SWmuxd3a+jj9G9UoC850WGwZUps1Wah9r1ZxgXhdJfj1QqDLJkFjHDCvN42qDL2Ps5KjQYWUU0zcQ==",
|
||||
"path": "microsoft.testplatform.objectmodel/17.14.1",
|
||||
"hashPath": "microsoft.testplatform.objectmodel.17.14.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.TestPlatform.TestHost/17.14.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-d78LPzGKkJwsJXAQwsbJJ7LE7D1wB+rAyhHHAaODF+RDSQ0NgMjDFkSA1Djw18VrxO76GlKAjRUhl+H8NL8Z+Q==",
|
||||
"path": "microsoft.testplatform.testhost/17.14.1",
|
||||
"hashPath": "microsoft.testplatform.testhost.17.14.1.nupkg.sha512"
|
||||
},
|
||||
"Newtonsoft.Json/13.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
|
||||
"path": "newtonsoft.json/13.0.3",
|
||||
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
|
||||
},
|
||||
"Npgsql/10.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-7nb5YzXuvWWJxB0J8DiyL3we+X4FOctZrt0fIBnucOIaIevFEEwGQVZKtiu9olXdlNAK1eNgqSral6r/jlhI4w==",
|
||||
"path": "npgsql/10.0.3",
|
||||
"hashPath": "npgsql.10.0.3.nupkg.sha512"
|
||||
},
|
||||
"xunit/2.9.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
|
||||
"path": "xunit/2.9.3",
|
||||
"hashPath": "xunit.2.9.3.nupkg.sha512"
|
||||
},
|
||||
"xunit.abstractions/2.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==",
|
||||
"path": "xunit.abstractions/2.0.3",
|
||||
"hashPath": "xunit.abstractions.2.0.3.nupkg.sha512"
|
||||
},
|
||||
"xunit.assert/2.9.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA==",
|
||||
"path": "xunit.assert/2.9.3",
|
||||
"hashPath": "xunit.assert.2.9.3.nupkg.sha512"
|
||||
},
|
||||
"xunit.core/2.9.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
|
||||
"path": "xunit.core/2.9.3",
|
||||
"hashPath": "xunit.core.2.9.3.nupkg.sha512"
|
||||
},
|
||||
"xunit.extensibility.core/2.9.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
|
||||
"path": "xunit.extensibility.core/2.9.3",
|
||||
"hashPath": "xunit.extensibility.core.2.9.3.nupkg.sha512"
|
||||
},
|
||||
"xunit.extensibility.execution/2.9.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
|
||||
"path": "xunit.extensibility.execution/2.9.3",
|
||||
"hashPath": "xunit.extensibility.execution.2.9.3.nupkg.sha512"
|
||||
},
|
||||
"QuantEngine.Application/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"QuantEngine.Core/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"QuantEngine.Infrastructure/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net10.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "10.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"MSTest.EnableParentProcessQuery": true,
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user