diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 07b07946..df3963dd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -54,6 +54,7 @@ jobs:
run: |
dotnet test PatternKit.slnx \
--configuration Release \
+ -p:TestTfmsInParallel=false \
--collect:"XPlat Code Coverage" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Include="[PatternKit*]*" \
@@ -167,6 +168,7 @@ jobs:
run: |
dotnet test PatternKit.slnx \
--configuration Release \
+ -p:TestTfmsInParallel=false \
--collect:"XPlat Code Coverage" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Include="[PatternKit*]*" \
diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml
index 986cc7ea..5fb85b79 100644
--- a/.github/workflows/pr-validation.yml
+++ b/.github/workflows/pr-validation.yml
@@ -77,8 +77,9 @@ jobs:
dotnet test PatternKit.slnx \
--configuration Release \
--no-build \
+ -p:TestTfmsInParallel=false \
--verbosity normal \
- --logger "trx;LogFileName=test-results.trx" \
+ --logger "trx" \
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover
@@ -117,7 +118,8 @@ jobs:
# Package all library projects
for project in src/PatternKit.Core \
src/PatternKit.Generators \
- src/PatternKit.Generators.Abstractions; do
+ src/PatternKit.Generators.Abstractions \
+ src/PatternKit.Hosting.Extensions; do
if [ -d "$project" ]; then
echo " Packing $project..."
dotnet pack "$project" \
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 632f45d3..2dedf11c 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -7,11 +7,12 @@
-
+
+
@@ -23,8 +24,8 @@
-
-
+
+
diff --git a/PatternKit.slnx b/PatternKit.slnx
index 0c9b78f0..3205a842 100644
--- a/PatternKit.slnx
+++ b/PatternKit.slnx
@@ -10,6 +10,7 @@
+
@@ -18,5 +19,6 @@
+
diff --git a/README.md b/README.md
index 695252ea..d600d041 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,33 @@ Install via NuGet:
dotnet add package PatternKit --version
```
+For first-party `IServiceCollection` integration in ASP.NET Core, worker services, or generic host apps:
+
+```bash
+dotnet add package PatternKit.Hosting.Extensions --version
+```
+
+```csharp
+using Microsoft.Extensions.DependencyInjection;
+using PatternKit.Hosting.DependencyInjection;
+using PatternKit.Messaging.Channels;
+
+var services = new ServiceCollection();
+
+services
+ .AddPatternKitMessageChannel(
+ "orders",
+ channel => channel.WithCapacity(100, MessageChannelBackpressurePolicy.Reject))
+ .AddPatternKitRetryPolicy(
+ "inventory-retry",
+ retry => retry.WithMaxAttempts(3).HandleResult(static reply => !reply.Available));
+
+public sealed record OrderCommand(string OrderId, decimal Total);
+public sealed record ServiceReply(bool Available);
+```
+
+See [Hosting Extensions](docs/guides/hosting-extensions.md) for reusable DI registrations that do not depend on the examples assembly.
+
Use a pattern immediately—here’s a simple **Strategy**:
```csharp
diff --git a/benchmarks/PatternKit.Benchmarks/packages.lock.json b/benchmarks/PatternKit.Benchmarks/packages.lock.json
index 094dd494..8d67600c 100644
--- a/benchmarks/PatternKit.Benchmarks/packages.lock.json
+++ b/benchmarks/PatternKit.Benchmarks/packages.lock.json
@@ -1,1171 +1,1174 @@
-{
- "version": 2,
- "dependencies": {
- "net10.0": {
- "BenchmarkDotNet": {
- "type": "Direct",
- "requested": "[0.15.8, )",
- "resolved": "0.15.8",
- "contentHash": "paCfrWxSeHqn3rUZc0spYXVFnHCF0nzRhG0nOLnyTjZYs8spsimBaaNmb3vwqvALKIplbYq/TF393vYiYSnh/Q==",
- "dependencies": {
- "BenchmarkDotNet.Annotations": "0.15.8",
- "CommandLineParser": "2.9.1",
- "Gee.External.Capstone": "2.3.0",
- "Iced": "1.21.0",
- "Microsoft.CodeAnalysis.CSharp": "4.14.0",
- "Microsoft.Diagnostics.Runtime": "3.1.512801",
- "Microsoft.Diagnostics.Tracing.TraceEvent": "3.1.21",
- "Microsoft.DotNet.PlatformAbstractions": "3.1.6",
- "Perfolizer": "[0.6.1]",
- "System.Management": "9.0.5"
- }
- },
- "BenchmarkDotNet.Annotations": {
- "type": "Transitive",
- "resolved": "0.15.8",
- "contentHash": "hfucY0ycAsB0SsoaZcaAp9oq5wlWBJcylvEJb9pmvdYUx6PD6S4mDiYnZWjdjAlLhIpe/xtGCwzORfzAzPqvzA=="
- },
- "CommandLineParser": {
- "type": "Transitive",
- "resolved": "2.9.1",
- "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA=="
- },
- "Gee.External.Capstone": {
- "type": "Transitive",
- "resolved": "2.3.0",
- "contentHash": "2ap/rYmjtzCOT8hxrnEW/QeiOt+paD8iRrIcdKX0cxVwWLFa1e+JDBNeECakmccXrSFeBQuu5AV8SNkipFMMMw=="
- },
- "Iced": {
- "type": "Transitive",
- "resolved": "1.21.0",
- "contentHash": "dv5+81Q1TBQvVMSOOOmRcjJmvWcX3BZPZsIq31+RLc5cNft0IHAyNlkdb7ZarOWG913PyBoFDsDXoCIlKmLclg=="
- },
- "Microsoft.CodeAnalysis.Common": {
- "type": "Transitive",
- "resolved": "4.14.0",
- "contentHash": "PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0"
- }
- },
- "Microsoft.Diagnostics.NETCore.Client": {
- "type": "Transitive",
- "resolved": "0.2.510501",
- "contentHash": "juoqJYMDs+lRrrZyOkXXMImJHneCF23cuvO4waFRd2Ds7j+ZuGIPbJm0Y/zz34BdeaGiiwGWraMUlln05W1PCQ==",
- "dependencies": {
- "Microsoft.Extensions.Logging": "6.0.0"
- }
- },
- "Microsoft.Diagnostics.Runtime": {
- "type": "Transitive",
- "resolved": "3.1.512801",
- "contentHash": "0lMUDr2oxNZa28D6NH5BuSQEe5T9tZziIkvkD44YkkCGQXPJqvFjLq5ZQq1hYLl3RjQJrY+hR0jFgap+EWPDTw==",
- "dependencies": {
- "Microsoft.Diagnostics.NETCore.Client": "0.2.410101"
- }
- },
- "Microsoft.Diagnostics.Tracing.TraceEvent": {
- "type": "Transitive",
- "resolved": "3.1.21",
- "contentHash": "/OrJFKaojSR6TkUKtwh8/qA9XWNtxLrXMqvEb89dBSKCWjaGVTbKMYodIUgF5deCEtmd6GXuRerciXGl5bhZ7Q==",
- "dependencies": {
- "Microsoft.Diagnostics.NETCore.Client": "0.2.510501",
- "System.Reflection.TypeExtensions": "4.7.0"
- }
- },
- "Microsoft.DotNet.PlatformAbstractions": {
- "type": "Transitive",
- "resolved": "3.1.6",
- "contentHash": "jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg=="
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "6.0.0",
- "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "6.0.0",
- "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "6.0.0",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "6.0.0",
- "Microsoft.Extensions.Options": "6.0.0"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "6.0.0",
- "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA=="
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "6.0.0",
- "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ=="
- },
- "Perfolizer": {
- "type": "Transitive",
- "resolved": "0.6.1",
- "contentHash": "CR1QmWg4XYBd1Pb7WseP+sDmV8nGPwvmowKynExTqr3OuckIGVMhvmN4LC5PGzfXqDlR295+hz/T7syA1CxEqA==",
- "dependencies": {
- "Pragmastat": "3.2.4"
- }
- },
- "Pragmastat": {
- "type": "Transitive",
- "resolved": "3.2.4",
- "contentHash": "I5qFifWw/gaTQT52MhzjZpkm/JPlfjSeO/DTZJjO7+hTKI+0aGRgOgZ3NN6D96dDuuqbIAZSeA5RimtHjqrA2A=="
- },
- "System.CodeDom": {
- "type": "Transitive",
- "resolved": "9.0.5",
- "contentHash": "cuzLM2MWutf9ZBEMPYYfd0DXwYdvntp7VCT6a/wvbKCa2ZuvGmW74xi+YBa2mrfEieAXqM4TNKlMmSnfAfpUoQ=="
- },
- "System.Management": {
- "type": "Transitive",
- "resolved": "9.0.5",
- "contentHash": "n6o9PZm9p25+zAzC3/48K0oHnaPKTInRrxqFq1fi/5TPbMLjuoCm/h//mS3cUmSy+9AO1Z+qsC/Ilt/ZFatv5Q==",
- "dependencies": {
- "System.CodeDom": "9.0.5"
- }
- },
- "System.Reflection.TypeExtensions": {
- "type": "Transitive",
- "resolved": "4.7.0",
- "contentHash": "VybpaOQQhqE6siHppMktjfGBw1GCwvCqiufqmP8F1nj7fTUNtW35LOEt3UZTEsECfo+ELAl/9o9nJx3U91i7vA=="
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.CodeAnalysis.Analyzers": {
- "type": "CentralTransitive",
- "requested": "[5.3.0, )",
- "resolved": "3.11.0",
- "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
- },
- "Microsoft.CodeAnalysis.CSharp": {
- "type": "CentralTransitive",
- "requested": "[5.0.0, )",
- "resolved": "4.14.0",
- "contentHash": "568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "Microsoft.CodeAnalysis.Common": "[4.14.0]"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "6.0.0",
- "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "6.0.0",
- "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
- "Microsoft.Extensions.Primitives": "6.0.0"
- }
- }
- },
- "net8.0": {
- "BenchmarkDotNet": {
- "type": "Direct",
- "requested": "[0.15.8, )",
- "resolved": "0.15.8",
- "contentHash": "paCfrWxSeHqn3rUZc0spYXVFnHCF0nzRhG0nOLnyTjZYs8spsimBaaNmb3vwqvALKIplbYq/TF393vYiYSnh/Q==",
- "dependencies": {
- "BenchmarkDotNet.Annotations": "0.15.8",
- "CommandLineParser": "2.9.1",
- "Gee.External.Capstone": "2.3.0",
- "Iced": "1.21.0",
- "Microsoft.CodeAnalysis.CSharp": "4.14.0",
- "Microsoft.Diagnostics.Runtime": "3.1.512801",
- "Microsoft.Diagnostics.Tracing.TraceEvent": "3.1.21",
- "Microsoft.DotNet.PlatformAbstractions": "3.1.6",
- "Perfolizer": "[0.6.1]",
- "System.Management": "9.0.5"
- }
- },
- "BenchmarkDotNet.Annotations": {
- "type": "Transitive",
- "resolved": "0.15.8",
- "contentHash": "hfucY0ycAsB0SsoaZcaAp9oq5wlWBJcylvEJb9pmvdYUx6PD6S4mDiYnZWjdjAlLhIpe/xtGCwzORfzAzPqvzA=="
- },
- "CommandLineParser": {
- "type": "Transitive",
- "resolved": "2.9.1",
- "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA=="
- },
- "Gee.External.Capstone": {
- "type": "Transitive",
- "resolved": "2.3.0",
- "contentHash": "2ap/rYmjtzCOT8hxrnEW/QeiOt+paD8iRrIcdKX0cxVwWLFa1e+JDBNeECakmccXrSFeBQuu5AV8SNkipFMMMw=="
- },
- "Iced": {
- "type": "Transitive",
- "resolved": "1.21.0",
- "contentHash": "dv5+81Q1TBQvVMSOOOmRcjJmvWcX3BZPZsIq31+RLc5cNft0IHAyNlkdb7ZarOWG913PyBoFDsDXoCIlKmLclg=="
- },
- "Microsoft.CodeAnalysis.Common": {
- "type": "Transitive",
- "resolved": "4.14.0",
- "contentHash": "PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "System.Collections.Immutable": "9.0.0",
- "System.Reflection.Metadata": "9.0.0"
- }
- },
- "Microsoft.Diagnostics.NETCore.Client": {
- "type": "Transitive",
- "resolved": "0.2.510501",
- "contentHash": "juoqJYMDs+lRrrZyOkXXMImJHneCF23cuvO4waFRd2Ds7j+ZuGIPbJm0Y/zz34BdeaGiiwGWraMUlln05W1PCQ==",
- "dependencies": {
- "Microsoft.Extensions.Logging": "6.0.0"
- }
- },
- "Microsoft.Diagnostics.Runtime": {
- "type": "Transitive",
- "resolved": "3.1.512801",
- "contentHash": "0lMUDr2oxNZa28D6NH5BuSQEe5T9tZziIkvkD44YkkCGQXPJqvFjLq5ZQq1hYLl3RjQJrY+hR0jFgap+EWPDTw==",
- "dependencies": {
- "Microsoft.Diagnostics.NETCore.Client": "0.2.410101"
- }
- },
- "Microsoft.Diagnostics.Tracing.TraceEvent": {
- "type": "Transitive",
- "resolved": "3.1.21",
- "contentHash": "/OrJFKaojSR6TkUKtwh8/qA9XWNtxLrXMqvEb89dBSKCWjaGVTbKMYodIUgF5deCEtmd6GXuRerciXGl5bhZ7Q==",
- "dependencies": {
- "Microsoft.Diagnostics.NETCore.Client": "0.2.510501"
- }
- },
- "Microsoft.DotNet.PlatformAbstractions": {
- "type": "Transitive",
- "resolved": "3.1.6",
- "contentHash": "jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Perfolizer": {
- "type": "Transitive",
- "resolved": "0.6.1",
- "contentHash": "CR1QmWg4XYBd1Pb7WseP+sDmV8nGPwvmowKynExTqr3OuckIGVMhvmN4LC5PGzfXqDlR295+hz/T7syA1CxEqA==",
- "dependencies": {
- "Pragmastat": "3.2.4"
- }
- },
- "Pragmastat": {
- "type": "Transitive",
- "resolved": "3.2.4",
- "contentHash": "I5qFifWw/gaTQT52MhzjZpkm/JPlfjSeO/DTZJjO7+hTKI+0aGRgOgZ3NN6D96dDuuqbIAZSeA5RimtHjqrA2A=="
- },
- "System.CodeDom": {
- "type": "Transitive",
- "resolved": "9.0.5",
- "contentHash": "cuzLM2MWutf9ZBEMPYYfd0DXwYdvntp7VCT6a/wvbKCa2ZuvGmW74xi+YBa2mrfEieAXqM4TNKlMmSnfAfpUoQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Management": {
- "type": "Transitive",
- "resolved": "9.0.5",
- "contentHash": "n6o9PZm9p25+zAzC3/48K0oHnaPKTInRrxqFq1fi/5TPbMLjuoCm/h//mS3cUmSy+9AO1Z+qsC/Ilt/ZFatv5Q==",
- "dependencies": {
- "System.CodeDom": "9.0.5"
- }
- },
- "System.Reflection.Metadata": {
- "type": "Transitive",
- "resolved": "9.0.0",
- "contentHash": "ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
- "dependencies": {
- "System.Collections.Immutable": "9.0.0"
- }
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.CodeAnalysis.Analyzers": {
- "type": "CentralTransitive",
- "requested": "[5.3.0, )",
- "resolved": "3.11.0",
- "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
- },
- "Microsoft.CodeAnalysis.CSharp": {
- "type": "CentralTransitive",
- "requested": "[5.0.0, )",
- "resolved": "4.14.0",
- "contentHash": "568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "Microsoft.CodeAnalysis.Common": "[4.14.0]",
- "System.Collections.Immutable": "9.0.0",
- "System.Reflection.Metadata": "9.0.0"
- }
- },
- "Microsoft.Extensions.Configuration": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "System.Collections.Immutable": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "9.0.0",
- "contentHash": "QhkXUl2gNrQtvPmtBTQHb0YsUrDiDQ2QS09YbtTTiSjGcf7NBqtYbrG/BE06zcBPCKEwQGzIv13IVdXNOSub2w=="
- }
- },
- "net9.0": {
- "BenchmarkDotNet": {
- "type": "Direct",
- "requested": "[0.15.8, )",
- "resolved": "0.15.8",
- "contentHash": "paCfrWxSeHqn3rUZc0spYXVFnHCF0nzRhG0nOLnyTjZYs8spsimBaaNmb3vwqvALKIplbYq/TF393vYiYSnh/Q==",
- "dependencies": {
- "BenchmarkDotNet.Annotations": "0.15.8",
- "CommandLineParser": "2.9.1",
- "Gee.External.Capstone": "2.3.0",
- "Iced": "1.21.0",
- "Microsoft.CodeAnalysis.CSharp": "4.14.0",
- "Microsoft.Diagnostics.Runtime": "3.1.512801",
- "Microsoft.Diagnostics.Tracing.TraceEvent": "3.1.21",
- "Microsoft.DotNet.PlatformAbstractions": "3.1.6",
- "Perfolizer": "[0.6.1]",
- "System.Management": "9.0.5"
- }
- },
- "BenchmarkDotNet.Annotations": {
- "type": "Transitive",
- "resolved": "0.15.8",
- "contentHash": "hfucY0ycAsB0SsoaZcaAp9oq5wlWBJcylvEJb9pmvdYUx6PD6S4mDiYnZWjdjAlLhIpe/xtGCwzORfzAzPqvzA=="
- },
- "CommandLineParser": {
- "type": "Transitive",
- "resolved": "2.9.1",
- "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA=="
- },
- "Gee.External.Capstone": {
- "type": "Transitive",
- "resolved": "2.3.0",
- "contentHash": "2ap/rYmjtzCOT8hxrnEW/QeiOt+paD8iRrIcdKX0cxVwWLFa1e+JDBNeECakmccXrSFeBQuu5AV8SNkipFMMMw=="
- },
- "Iced": {
- "type": "Transitive",
- "resolved": "1.21.0",
- "contentHash": "dv5+81Q1TBQvVMSOOOmRcjJmvWcX3BZPZsIq31+RLc5cNft0IHAyNlkdb7ZarOWG913PyBoFDsDXoCIlKmLclg=="
- },
- "Microsoft.CodeAnalysis.Common": {
- "type": "Transitive",
- "resolved": "4.14.0",
- "contentHash": "PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0"
- }
- },
- "Microsoft.Diagnostics.NETCore.Client": {
- "type": "Transitive",
- "resolved": "0.2.510501",
- "contentHash": "juoqJYMDs+lRrrZyOkXXMImJHneCF23cuvO4waFRd2Ds7j+ZuGIPbJm0Y/zz34BdeaGiiwGWraMUlln05W1PCQ==",
- "dependencies": {
- "Microsoft.Extensions.Logging": "6.0.0"
- }
- },
- "Microsoft.Diagnostics.Runtime": {
- "type": "Transitive",
- "resolved": "3.1.512801",
- "contentHash": "0lMUDr2oxNZa28D6NH5BuSQEe5T9tZziIkvkD44YkkCGQXPJqvFjLq5ZQq1hYLl3RjQJrY+hR0jFgap+EWPDTw==",
- "dependencies": {
- "Microsoft.Diagnostics.NETCore.Client": "0.2.410101"
- }
- },
- "Microsoft.Diagnostics.Tracing.TraceEvent": {
- "type": "Transitive",
- "resolved": "3.1.21",
- "contentHash": "/OrJFKaojSR6TkUKtwh8/qA9XWNtxLrXMqvEb89dBSKCWjaGVTbKMYodIUgF5deCEtmd6GXuRerciXGl5bhZ7Q==",
- "dependencies": {
- "Microsoft.Diagnostics.NETCore.Client": "0.2.510501"
- }
- },
- "Microsoft.DotNet.PlatformAbstractions": {
- "type": "Transitive",
- "resolved": "3.1.6",
- "contentHash": "jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Perfolizer": {
- "type": "Transitive",
- "resolved": "0.6.1",
- "contentHash": "CR1QmWg4XYBd1Pb7WseP+sDmV8nGPwvmowKynExTqr3OuckIGVMhvmN4LC5PGzfXqDlR295+hz/T7syA1CxEqA==",
- "dependencies": {
- "Pragmastat": "3.2.4"
- }
- },
- "Pragmastat": {
- "type": "Transitive",
- "resolved": "3.2.4",
- "contentHash": "I5qFifWw/gaTQT52MhzjZpkm/JPlfjSeO/DTZJjO7+hTKI+0aGRgOgZ3NN6D96dDuuqbIAZSeA5RimtHjqrA2A=="
- },
- "System.CodeDom": {
- "type": "Transitive",
- "resolved": "9.0.5",
- "contentHash": "cuzLM2MWutf9ZBEMPYYfd0DXwYdvntp7VCT6a/wvbKCa2ZuvGmW74xi+YBa2mrfEieAXqM4TNKlMmSnfAfpUoQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Management": {
- "type": "Transitive",
- "resolved": "9.0.5",
- "contentHash": "n6o9PZm9p25+zAzC3/48K0oHnaPKTInRrxqFq1fi/5TPbMLjuoCm/h//mS3cUmSy+9AO1Z+qsC/Ilt/ZFatv5Q==",
- "dependencies": {
- "System.CodeDom": "9.0.5"
- }
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.CodeAnalysis.Analyzers": {
- "type": "CentralTransitive",
- "requested": "[5.3.0, )",
- "resolved": "3.11.0",
- "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
- },
- "Microsoft.CodeAnalysis.CSharp": {
- "type": "CentralTransitive",
- "requested": "[5.0.0, )",
- "resolved": "4.14.0",
- "contentHash": "568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "Microsoft.CodeAnalysis.Common": "[4.14.0]"
- }
- },
- "Microsoft.Extensions.Configuration": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- }
- }
- }
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "BenchmarkDotNet": {
+ "type": "Direct",
+ "requested": "[0.15.8, )",
+ "resolved": "0.15.8",
+ "contentHash": "paCfrWxSeHqn3rUZc0spYXVFnHCF0nzRhG0nOLnyTjZYs8spsimBaaNmb3vwqvALKIplbYq/TF393vYiYSnh/Q==",
+ "dependencies": {
+ "BenchmarkDotNet.Annotations": "0.15.8",
+ "CommandLineParser": "2.9.1",
+ "Gee.External.Capstone": "2.3.0",
+ "Iced": "1.21.0",
+ "Microsoft.CodeAnalysis.CSharp": "4.14.0",
+ "Microsoft.Diagnostics.Runtime": "3.1.512801",
+ "Microsoft.Diagnostics.Tracing.TraceEvent": "3.1.21",
+ "Microsoft.DotNet.PlatformAbstractions": "3.1.6",
+ "Perfolizer": "[0.6.1]",
+ "System.Management": "9.0.5"
+ }
+ },
+ "BenchmarkDotNet.Annotations": {
+ "type": "Transitive",
+ "resolved": "0.15.8",
+ "contentHash": "hfucY0ycAsB0SsoaZcaAp9oq5wlWBJcylvEJb9pmvdYUx6PD6S4mDiYnZWjdjAlLhIpe/xtGCwzORfzAzPqvzA=="
+ },
+ "CommandLineParser": {
+ "type": "Transitive",
+ "resolved": "2.9.1",
+ "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA=="
+ },
+ "Gee.External.Capstone": {
+ "type": "Transitive",
+ "resolved": "2.3.0",
+ "contentHash": "2ap/rYmjtzCOT8hxrnEW/QeiOt+paD8iRrIcdKX0cxVwWLFa1e+JDBNeECakmccXrSFeBQuu5AV8SNkipFMMMw=="
+ },
+ "Iced": {
+ "type": "Transitive",
+ "resolved": "1.21.0",
+ "contentHash": "dv5+81Q1TBQvVMSOOOmRcjJmvWcX3BZPZsIq31+RLc5cNft0IHAyNlkdb7ZarOWG913PyBoFDsDXoCIlKmLclg=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "4.14.0",
+ "contentHash": "PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0"
+ }
+ },
+ "Microsoft.Diagnostics.NETCore.Client": {
+ "type": "Transitive",
+ "resolved": "0.2.510501",
+ "contentHash": "juoqJYMDs+lRrrZyOkXXMImJHneCF23cuvO4waFRd2Ds7j+ZuGIPbJm0Y/zz34BdeaGiiwGWraMUlln05W1PCQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": "6.0.0"
+ }
+ },
+ "Microsoft.Diagnostics.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.1.512801",
+ "contentHash": "0lMUDr2oxNZa28D6NH5BuSQEe5T9tZziIkvkD44YkkCGQXPJqvFjLq5ZQq1hYLl3RjQJrY+hR0jFgap+EWPDTw==",
+ "dependencies": {
+ "Microsoft.Diagnostics.NETCore.Client": "0.2.410101"
+ }
+ },
+ "Microsoft.Diagnostics.Tracing.TraceEvent": {
+ "type": "Transitive",
+ "resolved": "3.1.21",
+ "contentHash": "/OrJFKaojSR6TkUKtwh8/qA9XWNtxLrXMqvEb89dBSKCWjaGVTbKMYodIUgF5deCEtmd6GXuRerciXGl5bhZ7Q==",
+ "dependencies": {
+ "Microsoft.Diagnostics.NETCore.Client": "0.2.510501",
+ "System.Reflection.TypeExtensions": "4.7.0"
+ }
+ },
+ "Microsoft.DotNet.PlatformAbstractions": {
+ "type": "Transitive",
+ "resolved": "3.1.6",
+ "contentHash": "jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "6.0.0",
+ "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "6.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "6.0.0",
+ "Microsoft.Extensions.Options": "6.0.0"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "6.0.0",
+ "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA=="
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "6.0.0",
+ "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ=="
+ },
+ "Perfolizer": {
+ "type": "Transitive",
+ "resolved": "0.6.1",
+ "contentHash": "CR1QmWg4XYBd1Pb7WseP+sDmV8nGPwvmowKynExTqr3OuckIGVMhvmN4LC5PGzfXqDlR295+hz/T7syA1CxEqA==",
+ "dependencies": {
+ "Pragmastat": "3.2.4"
+ }
+ },
+ "Pragmastat": {
+ "type": "Transitive",
+ "resolved": "3.2.4",
+ "contentHash": "I5qFifWw/gaTQT52MhzjZpkm/JPlfjSeO/DTZJjO7+hTKI+0aGRgOgZ3NN6D96dDuuqbIAZSeA5RimtHjqrA2A=="
+ },
+ "System.CodeDom": {
+ "type": "Transitive",
+ "resolved": "9.0.5",
+ "contentHash": "cuzLM2MWutf9ZBEMPYYfd0DXwYdvntp7VCT6a/wvbKCa2ZuvGmW74xi+YBa2mrfEieAXqM4TNKlMmSnfAfpUoQ=="
+ },
+ "System.Management": {
+ "type": "Transitive",
+ "resolved": "9.0.5",
+ "contentHash": "n6o9PZm9p25+zAzC3/48K0oHnaPKTInRrxqFq1fi/5TPbMLjuoCm/h//mS3cUmSy+9AO1Z+qsC/Ilt/ZFatv5Q==",
+ "dependencies": {
+ "System.CodeDom": "9.0.5"
+ }
+ },
+ "System.Reflection.TypeExtensions": {
+ "type": "Transitive",
+ "resolved": "4.7.0",
+ "contentHash": "VybpaOQQhqE6siHppMktjfGBw1GCwvCqiufqmP8F1nj7fTUNtW35LOEt3UZTEsECfo+ELAl/9o9nJx3U91i7vA=="
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "3.11.0",
+ "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "4.14.0",
+ "contentHash": "568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.Common": "[4.14.0]"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "6.0.0",
+ "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "6.0.0",
+ "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg=="
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "6.0.0",
+ "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
+ "Microsoft.Extensions.Primitives": "6.0.0"
+ }
+ }
+ },
+ "net8.0": {
+ "BenchmarkDotNet": {
+ "type": "Direct",
+ "requested": "[0.15.8, )",
+ "resolved": "0.15.8",
+ "contentHash": "paCfrWxSeHqn3rUZc0spYXVFnHCF0nzRhG0nOLnyTjZYs8spsimBaaNmb3vwqvALKIplbYq/TF393vYiYSnh/Q==",
+ "dependencies": {
+ "BenchmarkDotNet.Annotations": "0.15.8",
+ "CommandLineParser": "2.9.1",
+ "Gee.External.Capstone": "2.3.0",
+ "Iced": "1.21.0",
+ "Microsoft.CodeAnalysis.CSharp": "4.14.0",
+ "Microsoft.Diagnostics.Runtime": "3.1.512801",
+ "Microsoft.Diagnostics.Tracing.TraceEvent": "3.1.21",
+ "Microsoft.DotNet.PlatformAbstractions": "3.1.6",
+ "Perfolizer": "[0.6.1]",
+ "System.Management": "9.0.5"
+ }
+ },
+ "BenchmarkDotNet.Annotations": {
+ "type": "Transitive",
+ "resolved": "0.15.8",
+ "contentHash": "hfucY0ycAsB0SsoaZcaAp9oq5wlWBJcylvEJb9pmvdYUx6PD6S4mDiYnZWjdjAlLhIpe/xtGCwzORfzAzPqvzA=="
+ },
+ "CommandLineParser": {
+ "type": "Transitive",
+ "resolved": "2.9.1",
+ "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA=="
+ },
+ "Gee.External.Capstone": {
+ "type": "Transitive",
+ "resolved": "2.3.0",
+ "contentHash": "2ap/rYmjtzCOT8hxrnEW/QeiOt+paD8iRrIcdKX0cxVwWLFa1e+JDBNeECakmccXrSFeBQuu5AV8SNkipFMMMw=="
+ },
+ "Iced": {
+ "type": "Transitive",
+ "resolved": "1.21.0",
+ "contentHash": "dv5+81Q1TBQvVMSOOOmRcjJmvWcX3BZPZsIq31+RLc5cNft0IHAyNlkdb7ZarOWG913PyBoFDsDXoCIlKmLclg=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "4.14.0",
+ "contentHash": "PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "System.Collections.Immutable": "9.0.0",
+ "System.Reflection.Metadata": "9.0.0"
+ }
+ },
+ "Microsoft.Diagnostics.NETCore.Client": {
+ "type": "Transitive",
+ "resolved": "0.2.510501",
+ "contentHash": "juoqJYMDs+lRrrZyOkXXMImJHneCF23cuvO4waFRd2Ds7j+ZuGIPbJm0Y/zz34BdeaGiiwGWraMUlln05W1PCQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": "6.0.0"
+ }
+ },
+ "Microsoft.Diagnostics.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.1.512801",
+ "contentHash": "0lMUDr2oxNZa28D6NH5BuSQEe5T9tZziIkvkD44YkkCGQXPJqvFjLq5ZQq1hYLl3RjQJrY+hR0jFgap+EWPDTw==",
+ "dependencies": {
+ "Microsoft.Diagnostics.NETCore.Client": "0.2.410101"
+ }
+ },
+ "Microsoft.Diagnostics.Tracing.TraceEvent": {
+ "type": "Transitive",
+ "resolved": "3.1.21",
+ "contentHash": "/OrJFKaojSR6TkUKtwh8/qA9XWNtxLrXMqvEb89dBSKCWjaGVTbKMYodIUgF5deCEtmd6GXuRerciXGl5bhZ7Q==",
+ "dependencies": {
+ "Microsoft.Diagnostics.NETCore.Client": "0.2.510501"
+ }
+ },
+ "Microsoft.DotNet.PlatformAbstractions": {
+ "type": "Transitive",
+ "resolved": "3.1.6",
+ "contentHash": "jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Perfolizer": {
+ "type": "Transitive",
+ "resolved": "0.6.1",
+ "contentHash": "CR1QmWg4XYBd1Pb7WseP+sDmV8nGPwvmowKynExTqr3OuckIGVMhvmN4LC5PGzfXqDlR295+hz/T7syA1CxEqA==",
+ "dependencies": {
+ "Pragmastat": "3.2.4"
+ }
+ },
+ "Pragmastat": {
+ "type": "Transitive",
+ "resolved": "3.2.4",
+ "contentHash": "I5qFifWw/gaTQT52MhzjZpkm/JPlfjSeO/DTZJjO7+hTKI+0aGRgOgZ3NN6D96dDuuqbIAZSeA5RimtHjqrA2A=="
+ },
+ "System.CodeDom": {
+ "type": "Transitive",
+ "resolved": "9.0.5",
+ "contentHash": "cuzLM2MWutf9ZBEMPYYfd0DXwYdvntp7VCT6a/wvbKCa2ZuvGmW74xi+YBa2mrfEieAXqM4TNKlMmSnfAfpUoQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Management": {
+ "type": "Transitive",
+ "resolved": "9.0.5",
+ "contentHash": "n6o9PZm9p25+zAzC3/48K0oHnaPKTInRrxqFq1fi/5TPbMLjuoCm/h//mS3cUmSy+9AO1Z+qsC/Ilt/ZFatv5Q==",
+ "dependencies": {
+ "System.CodeDom": "9.0.5"
+ }
+ },
+ "System.Reflection.Metadata": {
+ "type": "Transitive",
+ "resolved": "9.0.0",
+ "contentHash": "ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
+ "dependencies": {
+ "System.Collections.Immutable": "9.0.0"
+ }
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "3.11.0",
+ "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "4.14.0",
+ "contentHash": "568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.Common": "[4.14.0]",
+ "System.Collections.Immutable": "9.0.0",
+ "System.Reflection.Metadata": "9.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "9.0.0",
+ "contentHash": "QhkXUl2gNrQtvPmtBTQHb0YsUrDiDQ2QS09YbtTTiSjGcf7NBqtYbrG/BE06zcBPCKEwQGzIv13IVdXNOSub2w=="
+ }
+ },
+ "net9.0": {
+ "BenchmarkDotNet": {
+ "type": "Direct",
+ "requested": "[0.15.8, )",
+ "resolved": "0.15.8",
+ "contentHash": "paCfrWxSeHqn3rUZc0spYXVFnHCF0nzRhG0nOLnyTjZYs8spsimBaaNmb3vwqvALKIplbYq/TF393vYiYSnh/Q==",
+ "dependencies": {
+ "BenchmarkDotNet.Annotations": "0.15.8",
+ "CommandLineParser": "2.9.1",
+ "Gee.External.Capstone": "2.3.0",
+ "Iced": "1.21.0",
+ "Microsoft.CodeAnalysis.CSharp": "4.14.0",
+ "Microsoft.Diagnostics.Runtime": "3.1.512801",
+ "Microsoft.Diagnostics.Tracing.TraceEvent": "3.1.21",
+ "Microsoft.DotNet.PlatformAbstractions": "3.1.6",
+ "Perfolizer": "[0.6.1]",
+ "System.Management": "9.0.5"
+ }
+ },
+ "BenchmarkDotNet.Annotations": {
+ "type": "Transitive",
+ "resolved": "0.15.8",
+ "contentHash": "hfucY0ycAsB0SsoaZcaAp9oq5wlWBJcylvEJb9pmvdYUx6PD6S4mDiYnZWjdjAlLhIpe/xtGCwzORfzAzPqvzA=="
+ },
+ "CommandLineParser": {
+ "type": "Transitive",
+ "resolved": "2.9.1",
+ "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA=="
+ },
+ "Gee.External.Capstone": {
+ "type": "Transitive",
+ "resolved": "2.3.0",
+ "contentHash": "2ap/rYmjtzCOT8hxrnEW/QeiOt+paD8iRrIcdKX0cxVwWLFa1e+JDBNeECakmccXrSFeBQuu5AV8SNkipFMMMw=="
+ },
+ "Iced": {
+ "type": "Transitive",
+ "resolved": "1.21.0",
+ "contentHash": "dv5+81Q1TBQvVMSOOOmRcjJmvWcX3BZPZsIq31+RLc5cNft0IHAyNlkdb7ZarOWG913PyBoFDsDXoCIlKmLclg=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "4.14.0",
+ "contentHash": "PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0"
+ }
+ },
+ "Microsoft.Diagnostics.NETCore.Client": {
+ "type": "Transitive",
+ "resolved": "0.2.510501",
+ "contentHash": "juoqJYMDs+lRrrZyOkXXMImJHneCF23cuvO4waFRd2Ds7j+ZuGIPbJm0Y/zz34BdeaGiiwGWraMUlln05W1PCQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": "6.0.0"
+ }
+ },
+ "Microsoft.Diagnostics.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.1.512801",
+ "contentHash": "0lMUDr2oxNZa28D6NH5BuSQEe5T9tZziIkvkD44YkkCGQXPJqvFjLq5ZQq1hYLl3RjQJrY+hR0jFgap+EWPDTw==",
+ "dependencies": {
+ "Microsoft.Diagnostics.NETCore.Client": "0.2.410101"
+ }
+ },
+ "Microsoft.Diagnostics.Tracing.TraceEvent": {
+ "type": "Transitive",
+ "resolved": "3.1.21",
+ "contentHash": "/OrJFKaojSR6TkUKtwh8/qA9XWNtxLrXMqvEb89dBSKCWjaGVTbKMYodIUgF5deCEtmd6GXuRerciXGl5bhZ7Q==",
+ "dependencies": {
+ "Microsoft.Diagnostics.NETCore.Client": "0.2.510501"
+ }
+ },
+ "Microsoft.DotNet.PlatformAbstractions": {
+ "type": "Transitive",
+ "resolved": "3.1.6",
+ "contentHash": "jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Perfolizer": {
+ "type": "Transitive",
+ "resolved": "0.6.1",
+ "contentHash": "CR1QmWg4XYBd1Pb7WseP+sDmV8nGPwvmowKynExTqr3OuckIGVMhvmN4LC5PGzfXqDlR295+hz/T7syA1CxEqA==",
+ "dependencies": {
+ "Pragmastat": "3.2.4"
+ }
+ },
+ "Pragmastat": {
+ "type": "Transitive",
+ "resolved": "3.2.4",
+ "contentHash": "I5qFifWw/gaTQT52MhzjZpkm/JPlfjSeO/DTZJjO7+hTKI+0aGRgOgZ3NN6D96dDuuqbIAZSeA5RimtHjqrA2A=="
+ },
+ "System.CodeDom": {
+ "type": "Transitive",
+ "resolved": "9.0.5",
+ "contentHash": "cuzLM2MWutf9ZBEMPYYfd0DXwYdvntp7VCT6a/wvbKCa2ZuvGmW74xi+YBa2mrfEieAXqM4TNKlMmSnfAfpUoQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Management": {
+ "type": "Transitive",
+ "resolved": "9.0.5",
+ "contentHash": "n6o9PZm9p25+zAzC3/48K0oHnaPKTInRrxqFq1fi/5TPbMLjuoCm/h//mS3cUmSy+9AO1Z+qsC/Ilt/ZFatv5Q==",
+ "dependencies": {
+ "System.CodeDom": "9.0.5"
+ }
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "3.11.0",
+ "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "4.14.0",
+ "contentHash": "568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.Common": "[4.14.0]"
+ }
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/docs/docfx.json b/docs/docfx.json
index dd6a7689..080fbdf1 100644
--- a/docs/docfx.json
+++ b/docs/docfx.json
@@ -1,56 +1,57 @@
-{
- "$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json",
- "metadata": [
- {
- "src": [
- {
- "files": [
+{
+ "$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json",
+ "metadata": [
+ {
+ "src": [
+ {
+ "files": [
"src/PatternKit.Core/**.csproj",
- "src/PatternKit.Generators.Abstractions/**.csproj"
- ],
- "src": ".."
- }
- ],
- "dest": "api",
- "includePrivateMembers": false,
- "disableGitFeatures": false,
- "disableDefaultFilter": false,
- "properties": {
- "TargetFramework": "net9.0"
- }
- }
- ],
- "build": {
- "content": [
- {
- "files": [
- "**/*.{md,yml}"
- ],
- "exclude": [
- "_site/**", "obj/**"
- ]
- }
- ],
- "resource": [
- {
- "files": [
- "**/images/**"
- ],
- "exclude": [ "_site/**", "obj/**"]
- }
- ],
- "output": "_site",
- "template": [
- "default",
- "modern",
- "template"
- ],
- "globalMetadata": {
- "_appLogoPath": "images/logo.png",
- "_appName": "PatternKit",
- "_appTitle": "PatternKit",
- "_enableSearch": true,
- "pdf": true
- }
- }
-}
+ "src/PatternKit.Generators.Abstractions/**.csproj",
+ "src/PatternKit.Hosting.Extensions/**.csproj"
+ ],
+ "src": ".."
+ }
+ ],
+ "dest": "api",
+ "includePrivateMembers": false,
+ "disableGitFeatures": false,
+ "disableDefaultFilter": false,
+ "properties": {
+ "TargetFramework": "net9.0"
+ }
+ }
+ ],
+ "build": {
+ "content": [
+ {
+ "files": [
+ "**/*.{md,yml}"
+ ],
+ "exclude": [
+ "_site/**", "obj/**"
+ ]
+ }
+ ],
+ "resource": [
+ {
+ "files": [
+ "**/images/**"
+ ],
+ "exclude": [ "_site/**", "obj/**"]
+ }
+ ],
+ "output": "_site",
+ "template": [
+ "default",
+ "modern",
+ "template"
+ ],
+ "globalMetadata": {
+ "_appLogoPath": "images/logo.png",
+ "_appName": "PatternKit",
+ "_appTitle": "PatternKit",
+ "_enableSearch": true,
+ "pdf": true
+ }
+ }
+}
diff --git a/docs/guides/hosting-extensions.md b/docs/guides/hosting-extensions.md
new file mode 100644
index 00000000..7d84da07
--- /dev/null
+++ b/docs/guides/hosting-extensions.md
@@ -0,0 +1,94 @@
+# Hosting Extensions
+
+`PatternKit.Hosting.Extensions` provides reusable `Microsoft.Extensions.DependencyInjection` registrations for PatternKit runtime primitives. Use it when an application wants PatternKit policies, queues, and stores as normal services without importing `PatternKit.Examples`.
+
+Install the runtime and hosting package:
+
+```bash
+dotnet add package PatternKit.Core
+dotnet add package PatternKit.Hosting.Extensions
+```
+
+Register messaging primitives:
+
+```csharp
+using Microsoft.Extensions.DependencyInjection;
+using PatternKit.Hosting.DependencyInjection;
+using PatternKit.Messaging;
+using PatternKit.Messaging.Channels;
+
+var services = new ServiceCollection();
+
+services
+ .AddPatternKitMessageChannel(
+ "orders",
+ channel => channel.WithCapacity(100, MessageChannelBackpressurePolicy.Reject))
+ .AddPatternKitMessageStore(
+ "order-audit",
+ store => store.IdentifyBy(static (message, _) => message.Payload.OrderId))
+ .AddPatternKitGuaranteedDelivery(
+ queue => queue
+ .Name("orders-guaranteed-delivery")
+ .LeaseDuration(TimeSpan.FromSeconds(30))
+ .MaxDeliveryAttempts(5));
+
+using var provider = services.BuildServiceProvider(validateScopes: true);
+var channel = provider.GetRequiredService>();
+
+channel.Send(Message.Create(new("order-100", 125m)));
+
+public sealed record OrderCommand(string OrderId, decimal Total);
+```
+
+Register cloud resilience policies:
+
+```csharp
+using Microsoft.Extensions.DependencyInjection;
+using PatternKit.Hosting.DependencyInjection;
+
+var services = new ServiceCollection();
+
+services
+ .AddPatternKitRetryPolicy(
+ "inventory-retry",
+ retry => retry
+ .WithMaxAttempts(3)
+ .HandleResult(static reply => !reply.Available))
+ .AddPatternKitCircuitBreakerPolicy(
+ "inventory-breaker",
+ breaker => breaker
+ .WithFailureThreshold(2)
+ .WithBreakDuration(TimeSpan.FromSeconds(20))
+ .HandleResult(static reply => !reply.Available))
+ .AddPatternKitBulkheadPolicy(
+ "inventory-bulkhead",
+ bulkhead => bulkhead
+ .WithMaxConcurrency(8)
+ .WithMaxQueueLength(32))
+ .AddPatternKitRateLimitPolicy(
+ "inventory-rate-limit",
+ rateLimit => rateLimit
+ .WithPermitLimit(60)
+ .WithWindow(TimeSpan.FromMinutes(1)))
+ .AddPatternKitQueueLoadLevelingPolicy(
+ "inventory-leveling",
+ queue => queue
+ .WithMaxConcurrentWorkers(4)
+ .WithMaxQueueLength(500))
+ .AddPatternKitPriorityQueue(
+ static work => work.Priority,
+ "inventory-priority");
+
+public sealed record ServiceReply(bool Available);
+public sealed record InventoryWork(string Sku, int Priority);
+```
+
+All helpers accept a `ServiceLifetime`; singleton is the default because most PatternKit runtime primitives hold useful state such as queues, windows, counters, or circuit state.
+
+```csharp
+services.AddPatternKitMessageChannel(
+ "scoped-orders",
+ lifetime: ServiceLifetime.Scoped);
+```
+
+The package is intentionally separate from `PatternKit.Examples`. Example registrations remain useful for demos and documentation, while `PatternKit.Hosting.Extensions` is the production-oriented integration surface for existing ASP.NET Core, worker service, and generic host applications.
diff --git a/docs/guides/toc.yml b/docs/guides/toc.yml
index c659ae06..ecd4be7f 100644
--- a/docs/guides/toc.yml
+++ b/docs/guides/toc.yml
@@ -4,6 +4,8 @@
href: pattern-coverage.md
- name: Composing Patterns
href: composing-patterns.md
+- name: Hosting Extensions
+ href: hosting-extensions.md
- name: Migrating from Traditional Patterns
href: migrating-from-traditional.md
- name: Performance
diff --git a/docs/index.md b/docs/index.md
index 16c20e32..7793dc7a 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -28,6 +28,12 @@ Install the NuGet package:
dotnet add package PatternKit
```
+For reusable `IServiceCollection` registrations:
+
+```bash
+dotnet add package PatternKit.Hosting.Extensions
+```
+
### Example: `Strategy`
```csharp
@@ -60,11 +66,11 @@ if (parser.Execute("123", out var value))
## 📚 Available Patterns
-PatternKit covers 88 production-readiness patterns with fluent APIs, source-generated routes where applicable, IoC integration examples, TinyBDD coverage, and BenchmarkDotNet coverage-matrix validation:
+PatternKit covers 101 production-readiness patterns with fluent APIs, source-generated routes where applicable, IoC integration examples, TinyBDD coverage, and BenchmarkDotNet coverage-matrix validation:
| Category | Count | Patterns |
| --- | ---: | --- |
-| Application Architecture | 15 | Anti-Corruption Layer, Audit Log, CQRS, Data Mapper, Domain Event, Event Sourcing, Feature Toggle, Identity Map, Materialized View, Repository, Service Layer, Specification, Table Data Gateway, Transaction Script, Unit of Work |
+| Application Architecture | 16 | Activity Tracker, Anti-Corruption Layer, Audit Log, CQRS, Data Mapper, Domain Event, Event Sourcing, Feature Toggle, Identity Map, Materialized View, Repository, Service Layer, Specification, Table Data Gateway, Transaction Script, Unit of Work |
| Behavioral | 11 | Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor |
| Cloud Architecture | 17 | Ambassador, Backends for Frontends, Bulkhead, Cache-Aside, Circuit Breaker, External Configuration Store, Gateway Aggregation, Gateway Routing, Health Endpoint Monitoring, Leader Election, Priority Queue, Queue-Based Load Leveling, Rate Limiting, Retry, Scheduler Agent Supervisor, Sidecar, Strangler Fig |
| Creational | 5 | Abstract Factory, Builder, Factory Method, Prototype, Singleton |
diff --git a/src/PatternKit.Examples/packages.lock.json b/src/PatternKit.Examples/packages.lock.json
index 49243173..d3b6f415 100644
--- a/src/PatternKit.Examples/packages.lock.json
+++ b/src/PatternKit.Examples/packages.lock.json
@@ -1,763 +1,765 @@
-{
- "version": 2,
- "dependencies": {
- "net10.0": {
- "JetBrains.Annotations": {
- "type": "Direct",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg=="
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg=="
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw=="
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg=="
- },
- "Microsoft.Extensions.Hosting": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg=="
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ=="
- },
- "Microsoft.Extensions.Options": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA=="
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w=="
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q=="
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- }
- },
- "net8.0": {
- "JetBrains.Annotations": {
- "type": "Direct",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- }
- },
- "net9.0": {
- "JetBrains.Annotations": {
- "type": "Direct",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- }
- }
- }
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "JetBrains.Annotations": {
+ "type": "Direct",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg=="
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg=="
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw=="
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg=="
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ=="
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA=="
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w=="
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q=="
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ }
+ },
+ "net8.0": {
+ "JetBrains.Annotations": {
+ "type": "Direct",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ }
+ },
+ "net9.0": {
+ "JetBrains.Annotations": {
+ "type": "Direct",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/src/PatternKit.Generators/PatternKit.Generators.csproj b/src/PatternKit.Generators/PatternKit.Generators.csproj
index 9e0714be..c36c1fdf 100644
--- a/src/PatternKit.Generators/PatternKit.Generators.csproj
+++ b/src/PatternKit.Generators/PatternKit.Generators.csproj
@@ -1,47 +1,47 @@
-
-
-
- netstandard2.0
- true
- true
- true
- true
- true
- true
- true
- netstandard2.0;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ netstandard2.0
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ netstandard2.0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/PatternKit.Generators/packages.lock.json b/src/PatternKit.Generators/packages.lock.json
index 8d8dba5d..84a07708 100644
--- a/src/PatternKit.Generators/packages.lock.json
+++ b/src/PatternKit.Generators/packages.lock.json
@@ -1,126 +1,126 @@
-{
- "version": 2,
- "dependencies": {
- ".NETStandard,Version=v2.0": {
- "Microsoft.CodeAnalysis.Analyzers": {
- "type": "Direct",
- "requested": "[5.3.0, )",
- "resolved": "5.3.0",
- "contentHash": "KuLhbZwB0L8JikL86AE5VWEp3RLNjIcp+j8yz9EJ/UBgRz4+qDEjHg/tluRFbpYpD/e37BqaaNFbQ0vqawBwWQ=="
- },
- "Microsoft.CodeAnalysis.CSharp": {
- "type": "Direct",
- "requested": "[5.0.0, )",
- "resolved": "5.0.0",
- "contentHash": "5DSyJ9bk+ATuDy7fp2Zt0mJStDVKbBoiz1DyfAwSa+k4H4IwykAUcV3URelw5b8/iVbfSaOwkwmPUZH6opZKCw==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "Microsoft.CodeAnalysis.Common": "[5.0.0]",
- "System.Buffers": "4.6.0",
- "System.Collections.Immutable": "9.0.0",
- "System.Memory": "4.6.0",
- "System.Numerics.Vectors": "4.6.0",
- "System.Reflection.Metadata": "9.0.0",
- "System.Runtime.CompilerServices.Unsafe": "6.1.0",
- "System.Text.Encoding.CodePages": "8.0.0",
- "System.Threading.Tasks.Extensions": "4.6.0"
- }
- },
- "NETStandard.Library": {
- "type": "Direct",
- "requested": "[2.0.3, )",
- "resolved": "2.0.3",
- "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0"
- }
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw==",
- "dependencies": {
- "System.Memory": "4.6.3",
- "System.Runtime.CompilerServices.Unsafe": "6.1.2"
- }
- },
- "Microsoft.CodeAnalysis.Common": {
- "type": "Transitive",
- "resolved": "5.0.0",
- "contentHash": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "System.Buffers": "4.6.0",
- "System.Collections.Immutable": "9.0.0",
- "System.Memory": "4.6.0",
- "System.Numerics.Vectors": "4.6.0",
- "System.Reflection.Metadata": "9.0.0",
- "System.Runtime.CompilerServices.Unsafe": "6.1.0",
- "System.Text.Encoding.CodePages": "8.0.0",
- "System.Threading.Tasks.Extensions": "4.6.0"
- }
- },
- "Microsoft.NETCore.Platforms": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
- },
- "System.Buffers": {
- "type": "Transitive",
- "resolved": "4.6.1",
- "contentHash": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw=="
- },
- "System.Memory": {
- "type": "Transitive",
- "resolved": "4.6.3",
- "contentHash": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==",
- "dependencies": {
- "System.Buffers": "4.6.1",
- "System.Numerics.Vectors": "4.6.1",
- "System.Runtime.CompilerServices.Unsafe": "6.1.2"
- }
- },
- "System.Numerics.Vectors": {
- "type": "Transitive",
- "resolved": "4.6.1",
- "contentHash": "sQxefTnhagrhoq2ReR0D/6K0zJcr9Hrd6kikeXsA1I8kOCboTavcUC4r7TSfpKFeE163uMuxZcyfO1mGO3EN8Q=="
- },
- "System.Reflection.Metadata": {
- "type": "Transitive",
- "resolved": "9.0.0",
- "contentHash": "ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
- "dependencies": {
- "System.Collections.Immutable": "9.0.0",
- "System.Memory": "4.5.5"
- }
- },
- "System.Runtime.CompilerServices.Unsafe": {
- "type": "Transitive",
- "resolved": "6.1.2",
- "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
- },
- "System.Text.Encoding.CodePages": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==",
- "dependencies": {
- "System.Memory": "4.5.5",
- "System.Runtime.CompilerServices.Unsafe": "6.0.0"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "System.Threading.Tasks.Extensions": {
- "type": "CentralTransitive",
- "requested": "[4.6.3, )",
- "resolved": "4.6.0",
- "contentHash": "I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==",
- "dependencies": {
- "System.Runtime.CompilerServices.Unsafe": "6.1.0"
- }
- }
- }
- }
+{
+ "version": 2,
+ "dependencies": {
+ ".NETStandard,Version=v2.0": {
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "Direct",
+ "requested": "[5.3.0, )",
+ "resolved": "5.3.0",
+ "contentHash": "KuLhbZwB0L8JikL86AE5VWEp3RLNjIcp+j8yz9EJ/UBgRz4+qDEjHg/tluRFbpYpD/e37BqaaNFbQ0vqawBwWQ=="
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "Direct",
+ "requested": "[5.0.0, )",
+ "resolved": "5.0.0",
+ "contentHash": "5DSyJ9bk+ATuDy7fp2Zt0mJStDVKbBoiz1DyfAwSa+k4H4IwykAUcV3URelw5b8/iVbfSaOwkwmPUZH6opZKCw==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "Microsoft.CodeAnalysis.Common": "[5.0.0]",
+ "System.Buffers": "4.6.0",
+ "System.Collections.Immutable": "9.0.0",
+ "System.Memory": "4.6.0",
+ "System.Numerics.Vectors": "4.6.0",
+ "System.Reflection.Metadata": "9.0.0",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.0",
+ "System.Text.Encoding.CodePages": "8.0.0",
+ "System.Threading.Tasks.Extensions": "4.6.0"
+ }
+ },
+ "NETStandard.Library": {
+ "type": "Direct",
+ "requested": "[2.0.3, )",
+ "resolved": "2.0.3",
+ "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw==",
+ "dependencies": {
+ "System.Memory": "4.6.3",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ }
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "5.0.0",
+ "contentHash": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
+ "System.Buffers": "4.6.0",
+ "System.Collections.Immutable": "9.0.0",
+ "System.Memory": "4.6.0",
+ "System.Numerics.Vectors": "4.6.0",
+ "System.Reflection.Metadata": "9.0.0",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.0",
+ "System.Text.Encoding.CodePages": "8.0.0",
+ "System.Threading.Tasks.Extensions": "4.6.0"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
+ },
+ "System.Buffers": {
+ "type": "Transitive",
+ "resolved": "4.6.1",
+ "contentHash": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw=="
+ },
+ "System.Memory": {
+ "type": "Transitive",
+ "resolved": "4.6.3",
+ "contentHash": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==",
+ "dependencies": {
+ "System.Buffers": "4.6.1",
+ "System.Numerics.Vectors": "4.6.1",
+ "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ }
+ },
+ "System.Numerics.Vectors": {
+ "type": "Transitive",
+ "resolved": "4.6.1",
+ "contentHash": "sQxefTnhagrhoq2ReR0D/6K0zJcr9Hrd6kikeXsA1I8kOCboTavcUC4r7TSfpKFeE163uMuxZcyfO1mGO3EN8Q=="
+ },
+ "System.Reflection.Metadata": {
+ "type": "Transitive",
+ "resolved": "9.0.0",
+ "contentHash": "ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
+ "dependencies": {
+ "System.Collections.Immutable": "9.0.0",
+ "System.Memory": "4.5.5"
+ }
+ },
+ "System.Runtime.CompilerServices.Unsafe": {
+ "type": "Transitive",
+ "resolved": "6.1.2",
+ "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
+ },
+ "System.Text.Encoding.CodePages": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==",
+ "dependencies": {
+ "System.Memory": "4.5.5",
+ "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "System.Threading.Tasks.Extensions": {
+ "type": "CentralTransitive",
+ "requested": "[4.6.3, )",
+ "resolved": "4.6.0",
+ "contentHash": "I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==",
+ "dependencies": {
+ "System.Runtime.CompilerServices.Unsafe": "6.1.0"
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs b/src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs
new file mode 100644
index 00000000..b2a572e1
--- /dev/null
+++ b/src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs
@@ -0,0 +1,207 @@
+using Microsoft.Extensions.DependencyInjection;
+using PatternKit.Cloud.Bulkhead;
+using PatternKit.Cloud.CircuitBreaker;
+using PatternKit.Cloud.PriorityQueue;
+using PatternKit.Cloud.QueueLoadLeveling;
+using PatternKit.Cloud.RateLimiting;
+using PatternKit.Cloud.Retry;
+using PatternKit.Messaging.Channels;
+using PatternKit.Messaging.Reliability;
+using PatternKit.Messaging.Storage;
+
+namespace PatternKit.Hosting.DependencyInjection;
+
+///
+/// Registers PatternKit runtime primitives with Microsoft.Extensions.DependencyInjection.
+///
+public static class PatternKitServiceCollectionExtensions
+{
+ public static IServiceCollection AddPatternKitMessageChannel(
+ this IServiceCollection services,
+ string name = "message-channel",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = MessageChannel.Create(name);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitMessageStore(
+ this IServiceCollection services,
+ string name = "message-store",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = MessageStore.Create(name);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitGuaranteedDelivery(
+ this IServiceCollection services,
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton,
+ Func>? storeFactory = null)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ provider =>
+ {
+ var store = storeFactory?.Invoke(provider) ?? new InMemoryGuaranteedDeliveryStore();
+ var builder = GuaranteedDeliveryQueue.Create(store);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitRetryPolicy(
+ this IServiceCollection services,
+ string name = "retry",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = RetryPolicy.Create(name);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitCircuitBreakerPolicy(
+ this IServiceCollection services,
+ string name = "circuit-breaker",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = CircuitBreakerPolicy.Create(name);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitBulkheadPolicy(
+ this IServiceCollection services,
+ string name = "bulkhead",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = BulkheadPolicy.Create(name);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitRateLimitPolicy(
+ this IServiceCollection services,
+ string name = "rate-limit",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = RateLimitPolicy.Create(name);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitQueueLoadLevelingPolicy(
+ this IServiceCollection services,
+ string name = "queue-load-leveling",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = QueueLoadLevelingPolicy.Create(name);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ public static IServiceCollection AddPatternKitPriorityQueue(
+ this IServiceCollection services,
+ Func prioritySelector,
+ string name = "priority-queue",
+ Action.Builder>? configure = null,
+ ServiceLifetime lifetime = ServiceLifetime.Singleton)
+ {
+ if (services is null)
+ throw new ArgumentNullException(nameof(services));
+ if (prioritySelector is null)
+ throw new ArgumentNullException(nameof(prioritySelector));
+
+ return services.AddPatternKitService(
+ lifetime,
+ _ =>
+ {
+ var builder = PriorityQueuePolicy.Create(name)
+ .WithPrioritySelector(prioritySelector);
+ configure?.Invoke(builder);
+ return builder.Build();
+ });
+ }
+
+ private static IServiceCollection AddPatternKitService(
+ this IServiceCollection services,
+ ServiceLifetime lifetime,
+ Func factory)
+ where TService : class
+ {
+ if (!Enum.IsDefined(typeof(ServiceLifetime), lifetime))
+ throw new ArgumentOutOfRangeException(nameof(lifetime), lifetime, "Service lifetime is not valid.");
+
+ services.Add(ServiceDescriptor.Describe(typeof(TService), provider => factory(provider), lifetime));
+ return services;
+ }
+}
diff --git a/src/PatternKit.Hosting.Extensions/PatternKit.Hosting.Extensions.csproj b/src/PatternKit.Hosting.Extensions/PatternKit.Hosting.Extensions.csproj
new file mode 100644
index 00000000..f7465b16
--- /dev/null
+++ b/src/PatternKit.Hosting.Extensions/PatternKit.Hosting.Extensions.csproj
@@ -0,0 +1,17 @@
+
+
+
+ PatternKit.Hosting
+ Microsoft.Extensions.DependencyInjection helpers for registering PatternKit runtime primitives in production applications.
+ design-patterns;fluent;fluent-api;dotnet;dependency-injection;hosting
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/PatternKit.Hosting.Extensions/packages.lock.json b/src/PatternKit.Hosting.Extensions/packages.lock.json
new file mode 100644
index 00000000..91ac180c
--- /dev/null
+++ b/src/PatternKit.Hosting.Extensions/packages.lock.json
@@ -0,0 +1,103 @@
+{
+ "version": 2,
+ "dependencies": {
+ ".NETStandard,Version=v2.0": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A==",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "10.0.8",
+ "System.Threading.Tasks.Extensions": "4.6.3"
+ }
+ },
+ "NETStandard.Library": {
+ "type": "Direct",
+ "requested": "[2.0.3, )",
+ "resolved": "2.0.3",
+ "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "e+kYYRb0HmNo5FTOcjXkP0mIEFHEyygm4ea/iLWpdumsACzCH078nZMfnk6RQFmtSrnNbh654c8nNtmUSwQoow==",
+ "dependencies": {
+ "System.Threading.Tasks.Extensions": "4.6.3"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
+ },
+ "System.Runtime.CompilerServices.Unsafe": {
+ "type": "Transitive",
+ "resolved": "6.1.2",
+ "contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
+ },
+ "patternkit.core": {
+ "type": "Project",
+ "dependencies": {
+ "System.Threading.Tasks.Extensions": "[4.6.3, )"
+ }
+ },
+ "System.Threading.Tasks.Extensions": {
+ "type": "CentralTransitive",
+ "requested": "[4.6.3, )",
+ "resolved": "4.6.3",
+ "contentHash": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==",
+ "dependencies": {
+ "System.Runtime.CompilerServices.Unsafe": "6.1.2"
+ }
+ }
+ },
+ ".NETStandard,Version=v2.1": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "patternkit.core": {
+ "type": "Project"
+ }
+ },
+ "net10.0": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "patternkit.core": {
+ "type": "Project"
+ }
+ },
+ "net8.0": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "patternkit.core": {
+ "type": "Project"
+ }
+ },
+ "net9.0": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "patternkit.core": {
+ "type": "Project"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/PatternKit.Examples.Tests/PatternKit.Examples.Tests.csproj b/test/PatternKit.Examples.Tests/PatternKit.Examples.Tests.csproj
index f23d9fb0..86651423 100644
--- a/test/PatternKit.Examples.Tests/PatternKit.Examples.Tests.csproj
+++ b/test/PatternKit.Examples.Tests/PatternKit.Examples.Tests.csproj
@@ -24,7 +24,7 @@
-
+
diff --git a/test/PatternKit.Examples.Tests/packages.lock.json b/test/PatternKit.Examples.Tests/packages.lock.json
index 434408ee..57216ae8 100644
--- a/test/PatternKit.Examples.Tests/packages.lock.json
+++ b/test/PatternKit.Examples.Tests/packages.lock.json
@@ -1,1464 +1,1466 @@
-{
- "version": 2,
- "dependencies": {
- "net10.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "JetBrains.Annotations": {
- "type": "Direct",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg=="
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg=="
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ=="
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "MQTTnet": {
- "type": "Direct",
- "requested": "[5.1.0.1559, )",
- "resolved": "5.1.0.1559",
- "contentHash": "9mkk0H+76CToIzp9ru5Uj5BuC3P5hQdkhvXM+CLmmTDdZWqajjICCHuUMbDd1yVBt9BWL77Rvzt0A+/PA4WMCA=="
- },
- "RabbitMQ.Client": {
- "type": "Direct",
- "requested": "[7.2.1, )",
- "resolved": "7.2.1",
- "contentHash": "YKXEfg9fVQiTKgZlvIhAfPSFaamEgi8DsQmisCH0IAsU4FYLrtoguDrDj6JtJVGUt40QPnBLRH6fTQcAC4qsOg=="
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "Testcontainers": {
- "type": "Direct",
- "requested": "[4.12.0, )",
- "resolved": "4.12.0",
- "contentHash": "PTZRdG1ZVkFMsFbc3cK/VUaOB5L3l4wYL+OkWAK33/cvgd/5FcmZlQ6NhMAl3PWBqYkpdWmeYmQW9U2OIXqtFA==",
- "dependencies": {
- "Docker.DotNet.Enhanced": "4.2.0",
- "Docker.DotNet.Enhanced.X509": "4.2.0",
- "SSH.NET": "2025.1.0",
- "SharpZipLib": "1.4.2"
- }
- },
- "Testcontainers.RabbitMq": {
- "type": "Direct",
- "requested": "[4.12.0, )",
- "resolved": "4.12.0",
- "contentHash": "wsFsFmpwXRQVkaK9s2sNk1g0gcl9p03xFZ0lirSQ6J9pjuEBUPA8wjnTmMJ/tzwC9N/TFT3u62OOMGhlU1eItg==",
- "dependencies": {
- "Testcontainers": "4.12.0"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.extensibility.core": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "BouncyCastle.Cryptography": {
- "type": "Transitive",
- "resolved": "2.6.2",
- "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
- },
- "Docker.DotNet.Enhanced": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "tm2V/DpnaURbBhMQ7Z3orNR3u+H863KQuYfA/sgGjI5py07dEeV0I02f6pGrx2869KG9uNM/E96puf9i0gId2w==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0",
- "Docker.DotNet.Enhanced.LegacyHttp": "4.2.0",
- "Docker.DotNet.Enhanced.NPipe": "4.2.0",
- "Docker.DotNet.Enhanced.NativeHttp": "4.2.0",
- "Docker.DotNet.Enhanced.Unix": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.Handler.Abstractions": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "cQNxpdadEPdNdfjFCl9vgoCQIK3aVHRn1Qlu36aZUFpp4xHfPrk4hRPNVLR/CpobIFJ+dAt8AceTKMlCfPSccw=="
- },
- "Docker.DotNet.Enhanced.LegacyHttp": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "sfbMX1HBPUec3PEMoqlP5ak6skXclcTBmu4gG3aUJatP34J2DgvYMP13bvz/rfrjVkAhPqnIiDKiHAkBCokajg==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.NativeHttp": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "/ll+2ePYm1qrsMdgMO5BzCQnbfTGmPJAc9SqXEManbliVBZvEpBKHXLugx/OeEca2oC/b4RV+UNPtue5u4jAuA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.NPipe": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "8wyYOD6VkvqRkITwsvkt3UbW/1WDl6NFypNAsIIDaMiglNRzFrQcK0nK9VUEZa6Oja8Bso3UYySDoL8qatatAA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.Unix": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "x0wNcbww1+p9nUfw8i+JvsSArBDGkoZ9GI2PZ1wPo85B2OiFrdzp89omounNhO2GKyaIRWAqAm5jYZyNg9EnxA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.X509": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "nMw+FHGwGZieDi7kBgpIVl+E8MzjzXeXHvMQpidLADT06fts2Gw6G+K+p0hMGv7liZULxyYiZnQ1UbE2B9NNQg==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "SharpZipLib": {
- "type": "Transitive",
- "resolved": "1.4.2",
- "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A=="
- },
- "SSH.NET": {
- "type": "Transitive",
- "resolved": "2025.1.0",
- "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==",
- "dependencies": {
- "BouncyCastle.Cryptography": "2.6.2"
- }
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "TinyBDD": {
- "type": "CentralTransitive",
- "requested": "[0.19.14, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg=="
- }
- },
- "net8.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "JetBrains.Annotations": {
- "type": "Direct",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "MQTTnet": {
- "type": "Direct",
- "requested": "[5.1.0.1559, )",
- "resolved": "5.1.0.1559",
- "contentHash": "9mkk0H+76CToIzp9ru5Uj5BuC3P5hQdkhvXM+CLmmTDdZWqajjICCHuUMbDd1yVBt9BWL77Rvzt0A+/PA4WMCA=="
- },
- "RabbitMQ.Client": {
- "type": "Direct",
- "requested": "[7.2.1, )",
- "resolved": "7.2.1",
- "contentHash": "YKXEfg9fVQiTKgZlvIhAfPSFaamEgi8DsQmisCH0IAsU4FYLrtoguDrDj6JtJVGUt40QPnBLRH6fTQcAC4qsOg=="
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "Testcontainers": {
- "type": "Direct",
- "requested": "[4.12.0, )",
- "resolved": "4.12.0",
- "contentHash": "PTZRdG1ZVkFMsFbc3cK/VUaOB5L3l4wYL+OkWAK33/cvgd/5FcmZlQ6NhMAl3PWBqYkpdWmeYmQW9U2OIXqtFA==",
- "dependencies": {
- "Docker.DotNet.Enhanced": "4.2.0",
- "Docker.DotNet.Enhanced.X509": "4.2.0",
- "SSH.NET": "2025.1.0",
- "SharpZipLib": "1.4.2"
- }
- },
- "Testcontainers.RabbitMq": {
- "type": "Direct",
- "requested": "[4.12.0, )",
- "resolved": "4.12.0",
- "contentHash": "wsFsFmpwXRQVkaK9s2sNk1g0gcl9p03xFZ0lirSQ6J9pjuEBUPA8wjnTmMJ/tzwC9N/TFT3u62OOMGhlU1eItg==",
- "dependencies": {
- "Testcontainers": "4.12.0"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.extensibility.core": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "BouncyCastle.Cryptography": {
- "type": "Transitive",
- "resolved": "2.6.2",
- "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
- },
- "Docker.DotNet.Enhanced": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "tm2V/DpnaURbBhMQ7Z3orNR3u+H863KQuYfA/sgGjI5py07dEeV0I02f6pGrx2869KG9uNM/E96puf9i0gId2w==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0",
- "Docker.DotNet.Enhanced.LegacyHttp": "4.2.0",
- "Docker.DotNet.Enhanced.NPipe": "4.2.0",
- "Docker.DotNet.Enhanced.NativeHttp": "4.2.0",
- "Docker.DotNet.Enhanced.Unix": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.Handler.Abstractions": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "cQNxpdadEPdNdfjFCl9vgoCQIK3aVHRn1Qlu36aZUFpp4xHfPrk4hRPNVLR/CpobIFJ+dAt8AceTKMlCfPSccw=="
- },
- "Docker.DotNet.Enhanced.LegacyHttp": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "sfbMX1HBPUec3PEMoqlP5ak6skXclcTBmu4gG3aUJatP34J2DgvYMP13bvz/rfrjVkAhPqnIiDKiHAkBCokajg==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.NativeHttp": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "/ll+2ePYm1qrsMdgMO5BzCQnbfTGmPJAc9SqXEManbliVBZvEpBKHXLugx/OeEca2oC/b4RV+UNPtue5u4jAuA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.NPipe": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "8wyYOD6VkvqRkITwsvkt3UbW/1WDl6NFypNAsIIDaMiglNRzFrQcK0nK9VUEZa6Oja8Bso3UYySDoL8qatatAA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.Unix": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "x0wNcbww1+p9nUfw8i+JvsSArBDGkoZ9GI2PZ1wPo85B2OiFrdzp89omounNhO2GKyaIRWAqAm5jYZyNg9EnxA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.X509": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "nMw+FHGwGZieDi7kBgpIVl+E8MzjzXeXHvMQpidLADT06fts2Gw6G+K+p0hMGv7liZULxyYiZnQ1UbE2B9NNQg==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "SharpZipLib": {
- "type": "Transitive",
- "resolved": "1.4.2",
- "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A=="
- },
- "SSH.NET": {
- "type": "Transitive",
- "resolved": "2025.1.0",
- "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==",
- "dependencies": {
- "BouncyCastle.Cryptography": "2.6.2"
- }
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "TinyBDD": {
- "type": "CentralTransitive",
- "requested": "[0.19.14, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- }
- },
- "net9.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "JetBrains.Annotations": {
- "type": "Direct",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "MQTTnet": {
- "type": "Direct",
- "requested": "[5.1.0.1559, )",
- "resolved": "5.1.0.1559",
- "contentHash": "9mkk0H+76CToIzp9ru5Uj5BuC3P5hQdkhvXM+CLmmTDdZWqajjICCHuUMbDd1yVBt9BWL77Rvzt0A+/PA4WMCA=="
- },
- "RabbitMQ.Client": {
- "type": "Direct",
- "requested": "[7.2.1, )",
- "resolved": "7.2.1",
- "contentHash": "YKXEfg9fVQiTKgZlvIhAfPSFaamEgi8DsQmisCH0IAsU4FYLrtoguDrDj6JtJVGUt40QPnBLRH6fTQcAC4qsOg=="
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "Testcontainers": {
- "type": "Direct",
- "requested": "[4.12.0, )",
- "resolved": "4.12.0",
- "contentHash": "PTZRdG1ZVkFMsFbc3cK/VUaOB5L3l4wYL+OkWAK33/cvgd/5FcmZlQ6NhMAl3PWBqYkpdWmeYmQW9U2OIXqtFA==",
- "dependencies": {
- "Docker.DotNet.Enhanced": "4.2.0",
- "Docker.DotNet.Enhanced.X509": "4.2.0",
- "SSH.NET": "2025.1.0",
- "SharpZipLib": "1.4.2"
- }
- },
- "Testcontainers.RabbitMq": {
- "type": "Direct",
- "requested": "[4.12.0, )",
- "resolved": "4.12.0",
- "contentHash": "wsFsFmpwXRQVkaK9s2sNk1g0gcl9p03xFZ0lirSQ6J9pjuEBUPA8wjnTmMJ/tzwC9N/TFT3u62OOMGhlU1eItg==",
- "dependencies": {
- "Testcontainers": "4.12.0"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.extensibility.core": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "BouncyCastle.Cryptography": {
- "type": "Transitive",
- "resolved": "2.6.2",
- "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
- },
- "Docker.DotNet.Enhanced": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "tm2V/DpnaURbBhMQ7Z3orNR3u+H863KQuYfA/sgGjI5py07dEeV0I02f6pGrx2869KG9uNM/E96puf9i0gId2w==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0",
- "Docker.DotNet.Enhanced.LegacyHttp": "4.2.0",
- "Docker.DotNet.Enhanced.NPipe": "4.2.0",
- "Docker.DotNet.Enhanced.NativeHttp": "4.2.0",
- "Docker.DotNet.Enhanced.Unix": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.Handler.Abstractions": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "cQNxpdadEPdNdfjFCl9vgoCQIK3aVHRn1Qlu36aZUFpp4xHfPrk4hRPNVLR/CpobIFJ+dAt8AceTKMlCfPSccw=="
- },
- "Docker.DotNet.Enhanced.LegacyHttp": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "sfbMX1HBPUec3PEMoqlP5ak6skXclcTBmu4gG3aUJatP34J2DgvYMP13bvz/rfrjVkAhPqnIiDKiHAkBCokajg==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.NativeHttp": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "/ll+2ePYm1qrsMdgMO5BzCQnbfTGmPJAc9SqXEManbliVBZvEpBKHXLugx/OeEca2oC/b4RV+UNPtue5u4jAuA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.NPipe": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "8wyYOD6VkvqRkITwsvkt3UbW/1WDl6NFypNAsIIDaMiglNRzFrQcK0nK9VUEZa6Oja8Bso3UYySDoL8qatatAA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.Unix": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "x0wNcbww1+p9nUfw8i+JvsSArBDGkoZ9GI2PZ1wPo85B2OiFrdzp89omounNhO2GKyaIRWAqAm5jYZyNg9EnxA==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Docker.DotNet.Enhanced.X509": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "nMw+FHGwGZieDi7kBgpIVl+E8MzjzXeXHvMQpidLADT06fts2Gw6G+K+p0hMGv7liZULxyYiZnQ1UbE2B9NNQg==",
- "dependencies": {
- "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
- }
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "SharpZipLib": {
- "type": "Transitive",
- "resolved": "1.4.2",
- "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A=="
- },
- "SSH.NET": {
- "type": "Transitive",
- "resolved": "2025.1.0",
- "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==",
- "dependencies": {
- "BouncyCastle.Cryptography": "2.6.2"
- }
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "TinyBDD": {
- "type": "CentralTransitive",
- "requested": "[0.19.14, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- }
- }
- }
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "JetBrains.Annotations": {
+ "type": "Direct",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg=="
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg=="
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ=="
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "MQTTnet": {
+ "type": "Direct",
+ "requested": "[5.1.0.1559, )",
+ "resolved": "5.1.0.1559",
+ "contentHash": "9mkk0H+76CToIzp9ru5Uj5BuC3P5hQdkhvXM+CLmmTDdZWqajjICCHuUMbDd1yVBt9BWL77Rvzt0A+/PA4WMCA=="
+ },
+ "RabbitMQ.Client": {
+ "type": "Direct",
+ "requested": "[7.2.1, )",
+ "resolved": "7.2.1",
+ "contentHash": "YKXEfg9fVQiTKgZlvIhAfPSFaamEgi8DsQmisCH0IAsU4FYLrtoguDrDj6JtJVGUt40QPnBLRH6fTQcAC4qsOg=="
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "Testcontainers": {
+ "type": "Direct",
+ "requested": "[4.12.0, )",
+ "resolved": "4.12.0",
+ "contentHash": "PTZRdG1ZVkFMsFbc3cK/VUaOB5L3l4wYL+OkWAK33/cvgd/5FcmZlQ6NhMAl3PWBqYkpdWmeYmQW9U2OIXqtFA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced": "4.2.0",
+ "Docker.DotNet.Enhanced.X509": "4.2.0",
+ "SSH.NET": "2025.1.0",
+ "SharpZipLib": "1.4.2"
+ }
+ },
+ "Testcontainers.RabbitMq": {
+ "type": "Direct",
+ "requested": "[4.12.0, )",
+ "resolved": "4.12.0",
+ "contentHash": "wsFsFmpwXRQVkaK9s2sNk1g0gcl9p03xFZ0lirSQ6J9pjuEBUPA8wjnTmMJ/tzwC9N/TFT3u62OOMGhlU1eItg==",
+ "dependencies": {
+ "Testcontainers": "4.12.0"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "BouncyCastle.Cryptography": {
+ "type": "Transitive",
+ "resolved": "2.6.2",
+ "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
+ },
+ "Docker.DotNet.Enhanced": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "tm2V/DpnaURbBhMQ7Z3orNR3u+H863KQuYfA/sgGjI5py07dEeV0I02f6pGrx2869KG9uNM/E96puf9i0gId2w==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0",
+ "Docker.DotNet.Enhanced.LegacyHttp": "4.2.0",
+ "Docker.DotNet.Enhanced.NPipe": "4.2.0",
+ "Docker.DotNet.Enhanced.NativeHttp": "4.2.0",
+ "Docker.DotNet.Enhanced.Unix": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.Handler.Abstractions": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "cQNxpdadEPdNdfjFCl9vgoCQIK3aVHRn1Qlu36aZUFpp4xHfPrk4hRPNVLR/CpobIFJ+dAt8AceTKMlCfPSccw=="
+ },
+ "Docker.DotNet.Enhanced.LegacyHttp": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "sfbMX1HBPUec3PEMoqlP5ak6skXclcTBmu4gG3aUJatP34J2DgvYMP13bvz/rfrjVkAhPqnIiDKiHAkBCokajg==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.NativeHttp": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "/ll+2ePYm1qrsMdgMO5BzCQnbfTGmPJAc9SqXEManbliVBZvEpBKHXLugx/OeEca2oC/b4RV+UNPtue5u4jAuA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.NPipe": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "8wyYOD6VkvqRkITwsvkt3UbW/1WDl6NFypNAsIIDaMiglNRzFrQcK0nK9VUEZa6Oja8Bso3UYySDoL8qatatAA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.Unix": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "x0wNcbww1+p9nUfw8i+JvsSArBDGkoZ9GI2PZ1wPo85B2OiFrdzp89omounNhO2GKyaIRWAqAm5jYZyNg9EnxA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.X509": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "nMw+FHGwGZieDi7kBgpIVl+E8MzjzXeXHvMQpidLADT06fts2Gw6G+K+p0hMGv7liZULxyYiZnQ1UbE2B9NNQg==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "SharpZipLib": {
+ "type": "Transitive",
+ "resolved": "1.4.2",
+ "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A=="
+ },
+ "SSH.NET": {
+ "type": "Transitive",
+ "resolved": "2025.1.0",
+ "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==",
+ "dependencies": {
+ "BouncyCastle.Cryptography": "2.6.2"
+ }
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw=="
+ }
+ },
+ "net8.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "JetBrains.Annotations": {
+ "type": "Direct",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "MQTTnet": {
+ "type": "Direct",
+ "requested": "[5.1.0.1559, )",
+ "resolved": "5.1.0.1559",
+ "contentHash": "9mkk0H+76CToIzp9ru5Uj5BuC3P5hQdkhvXM+CLmmTDdZWqajjICCHuUMbDd1yVBt9BWL77Rvzt0A+/PA4WMCA=="
+ },
+ "RabbitMQ.Client": {
+ "type": "Direct",
+ "requested": "[7.2.1, )",
+ "resolved": "7.2.1",
+ "contentHash": "YKXEfg9fVQiTKgZlvIhAfPSFaamEgi8DsQmisCH0IAsU4FYLrtoguDrDj6JtJVGUt40QPnBLRH6fTQcAC4qsOg=="
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "Testcontainers": {
+ "type": "Direct",
+ "requested": "[4.12.0, )",
+ "resolved": "4.12.0",
+ "contentHash": "PTZRdG1ZVkFMsFbc3cK/VUaOB5L3l4wYL+OkWAK33/cvgd/5FcmZlQ6NhMAl3PWBqYkpdWmeYmQW9U2OIXqtFA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced": "4.2.0",
+ "Docker.DotNet.Enhanced.X509": "4.2.0",
+ "SSH.NET": "2025.1.0",
+ "SharpZipLib": "1.4.2"
+ }
+ },
+ "Testcontainers.RabbitMq": {
+ "type": "Direct",
+ "requested": "[4.12.0, )",
+ "resolved": "4.12.0",
+ "contentHash": "wsFsFmpwXRQVkaK9s2sNk1g0gcl9p03xFZ0lirSQ6J9pjuEBUPA8wjnTmMJ/tzwC9N/TFT3u62OOMGhlU1eItg==",
+ "dependencies": {
+ "Testcontainers": "4.12.0"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "BouncyCastle.Cryptography": {
+ "type": "Transitive",
+ "resolved": "2.6.2",
+ "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
+ },
+ "Docker.DotNet.Enhanced": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "tm2V/DpnaURbBhMQ7Z3orNR3u+H863KQuYfA/sgGjI5py07dEeV0I02f6pGrx2869KG9uNM/E96puf9i0gId2w==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0",
+ "Docker.DotNet.Enhanced.LegacyHttp": "4.2.0",
+ "Docker.DotNet.Enhanced.NPipe": "4.2.0",
+ "Docker.DotNet.Enhanced.NativeHttp": "4.2.0",
+ "Docker.DotNet.Enhanced.Unix": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.Handler.Abstractions": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "cQNxpdadEPdNdfjFCl9vgoCQIK3aVHRn1Qlu36aZUFpp4xHfPrk4hRPNVLR/CpobIFJ+dAt8AceTKMlCfPSccw=="
+ },
+ "Docker.DotNet.Enhanced.LegacyHttp": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "sfbMX1HBPUec3PEMoqlP5ak6skXclcTBmu4gG3aUJatP34J2DgvYMP13bvz/rfrjVkAhPqnIiDKiHAkBCokajg==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.NativeHttp": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "/ll+2ePYm1qrsMdgMO5BzCQnbfTGmPJAc9SqXEManbliVBZvEpBKHXLugx/OeEca2oC/b4RV+UNPtue5u4jAuA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.NPipe": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "8wyYOD6VkvqRkITwsvkt3UbW/1WDl6NFypNAsIIDaMiglNRzFrQcK0nK9VUEZa6Oja8Bso3UYySDoL8qatatAA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.Unix": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "x0wNcbww1+p9nUfw8i+JvsSArBDGkoZ9GI2PZ1wPo85B2OiFrdzp89omounNhO2GKyaIRWAqAm5jYZyNg9EnxA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.X509": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "nMw+FHGwGZieDi7kBgpIVl+E8MzjzXeXHvMQpidLADT06fts2Gw6G+K+p0hMGv7liZULxyYiZnQ1UbE2B9NNQg==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "SharpZipLib": {
+ "type": "Transitive",
+ "resolved": "1.4.2",
+ "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A=="
+ },
+ "SSH.NET": {
+ "type": "Transitive",
+ "resolved": "2025.1.0",
+ "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==",
+ "dependencies": {
+ "BouncyCastle.Cryptography": "2.6.2"
+ }
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ },
+ "net9.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "JetBrains.Annotations": {
+ "type": "Direct",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "MQTTnet": {
+ "type": "Direct",
+ "requested": "[5.1.0.1559, )",
+ "resolved": "5.1.0.1559",
+ "contentHash": "9mkk0H+76CToIzp9ru5Uj5BuC3P5hQdkhvXM+CLmmTDdZWqajjICCHuUMbDd1yVBt9BWL77Rvzt0A+/PA4WMCA=="
+ },
+ "RabbitMQ.Client": {
+ "type": "Direct",
+ "requested": "[7.2.1, )",
+ "resolved": "7.2.1",
+ "contentHash": "YKXEfg9fVQiTKgZlvIhAfPSFaamEgi8DsQmisCH0IAsU4FYLrtoguDrDj6JtJVGUt40QPnBLRH6fTQcAC4qsOg=="
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "Testcontainers": {
+ "type": "Direct",
+ "requested": "[4.12.0, )",
+ "resolved": "4.12.0",
+ "contentHash": "PTZRdG1ZVkFMsFbc3cK/VUaOB5L3l4wYL+OkWAK33/cvgd/5FcmZlQ6NhMAl3PWBqYkpdWmeYmQW9U2OIXqtFA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced": "4.2.0",
+ "Docker.DotNet.Enhanced.X509": "4.2.0",
+ "SSH.NET": "2025.1.0",
+ "SharpZipLib": "1.4.2"
+ }
+ },
+ "Testcontainers.RabbitMq": {
+ "type": "Direct",
+ "requested": "[4.12.0, )",
+ "resolved": "4.12.0",
+ "contentHash": "wsFsFmpwXRQVkaK9s2sNk1g0gcl9p03xFZ0lirSQ6J9pjuEBUPA8wjnTmMJ/tzwC9N/TFT3u62OOMGhlU1eItg==",
+ "dependencies": {
+ "Testcontainers": "4.12.0"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "BouncyCastle.Cryptography": {
+ "type": "Transitive",
+ "resolved": "2.6.2",
+ "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
+ },
+ "Docker.DotNet.Enhanced": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "tm2V/DpnaURbBhMQ7Z3orNR3u+H863KQuYfA/sgGjI5py07dEeV0I02f6pGrx2869KG9uNM/E96puf9i0gId2w==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0",
+ "Docker.DotNet.Enhanced.LegacyHttp": "4.2.0",
+ "Docker.DotNet.Enhanced.NPipe": "4.2.0",
+ "Docker.DotNet.Enhanced.NativeHttp": "4.2.0",
+ "Docker.DotNet.Enhanced.Unix": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.Handler.Abstractions": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "cQNxpdadEPdNdfjFCl9vgoCQIK3aVHRn1Qlu36aZUFpp4xHfPrk4hRPNVLR/CpobIFJ+dAt8AceTKMlCfPSccw=="
+ },
+ "Docker.DotNet.Enhanced.LegacyHttp": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "sfbMX1HBPUec3PEMoqlP5ak6skXclcTBmu4gG3aUJatP34J2DgvYMP13bvz/rfrjVkAhPqnIiDKiHAkBCokajg==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.NativeHttp": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "/ll+2ePYm1qrsMdgMO5BzCQnbfTGmPJAc9SqXEManbliVBZvEpBKHXLugx/OeEca2oC/b4RV+UNPtue5u4jAuA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.NPipe": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "8wyYOD6VkvqRkITwsvkt3UbW/1WDl6NFypNAsIIDaMiglNRzFrQcK0nK9VUEZa6Oja8Bso3UYySDoL8qatatAA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.Unix": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "x0wNcbww1+p9nUfw8i+JvsSArBDGkoZ9GI2PZ1wPo85B2OiFrdzp89omounNhO2GKyaIRWAqAm5jYZyNg9EnxA==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Docker.DotNet.Enhanced.X509": {
+ "type": "Transitive",
+ "resolved": "4.2.0",
+ "contentHash": "nMw+FHGwGZieDi7kBgpIVl+E8MzjzXeXHvMQpidLADT06fts2Gw6G+K+p0hMGv7liZULxyYiZnQ1UbE2B9NNQg==",
+ "dependencies": {
+ "Docker.DotNet.Enhanced.Handler.Abstractions": "4.2.0"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "SharpZipLib": {
+ "type": "Transitive",
+ "resolved": "1.4.2",
+ "contentHash": "yjj+3zgz8zgXpiiC3ZdF/iyTBbz2fFvMxZFEBPUcwZjIvXOf37Ylm+K58hqMfIBt5JgU/Z2uoUS67JmTLe973A=="
+ },
+ "SSH.NET": {
+ "type": "Transitive",
+ "resolved": "2025.1.0",
+ "contentHash": "jrnbtf0ItVaXAe6jE8X/kSLa6uC+0C+7W1vepcnRQB/rD88qy4IxG7Lf1FIbWmkoc4iVXv0pKrz+Wc6J4ngmHw==",
+ "dependencies": {
+ "BouncyCastle.Cryptography": "2.6.2"
+ }
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/test/PatternKit.Generators.Tests/PatternKit.Generators.Tests.csproj b/test/PatternKit.Generators.Tests/PatternKit.Generators.Tests.csproj
index a24fc34c..74f9abb6 100644
--- a/test/PatternKit.Generators.Tests/PatternKit.Generators.Tests.csproj
+++ b/test/PatternKit.Generators.Tests/PatternKit.Generators.Tests.csproj
@@ -16,8 +16,8 @@
-
-
+
+
all
diff --git a/test/PatternKit.Generators.Tests/packages.lock.json b/test/PatternKit.Generators.Tests/packages.lock.json
index d487514d..477a83f4 100644
--- a/test/PatternKit.Generators.Tests/packages.lock.json
+++ b/test/PatternKit.Generators.Tests/packages.lock.json
@@ -1,1244 +1,1247 @@
-{
- "version": 2,
- "dependencies": {
- "net10.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "Microsoft.CodeAnalysis.CSharp": {
- "type": "Direct",
- "requested": "[5.0.0, )",
- "resolved": "5.0.0",
- "contentHash": "5DSyJ9bk+ATuDy7fp2Zt0mJStDVKbBoiz1DyfAwSa+k4H4IwykAUcV3URelw5b8/iVbfSaOwkwmPUZH6opZKCw==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "Microsoft.CodeAnalysis.Common": "[5.0.0]"
- }
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "TinyBDD": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "Microsoft.CodeAnalysis.Common": {
- "type": "Transitive",
- "resolved": "5.0.0",
- "contentHash": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0"
- }
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "iVMtq9eRvzyhx8949EGT0OCYJfXi737SbRVzWXE5GrOgGj5AaZ9eUuxA/BSUfmOMALKn/g8KfFaNQw0eiB3lyA=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators": {
- "type": "Project",
- "dependencies": {
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.CodeAnalysis.Analyzers": {
- "type": "CentralTransitive",
- "requested": "[5.3.0, )",
- "resolved": "3.11.0",
- "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.5",
- "contentHash": "v1SVsowG6YE1YnHVGmLWz57YTRCQRx9pH5ebIESXfm5isI9gA3QaMyg/oMTzPpXYZwSAVDzYItGJKfmV+pqXkQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- },
- "xunit.extensibility.core": {
- "type": "CentralTransitive",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- }
- },
- "net8.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "Microsoft.CodeAnalysis.CSharp": {
- "type": "Direct",
- "requested": "[5.0.0, )",
- "resolved": "5.0.0",
- "contentHash": "5DSyJ9bk+ATuDy7fp2Zt0mJStDVKbBoiz1DyfAwSa+k4H4IwykAUcV3URelw5b8/iVbfSaOwkwmPUZH6opZKCw==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "Microsoft.CodeAnalysis.Common": "[5.0.0]",
- "System.Collections.Immutable": "9.0.0",
- "System.Reflection.Metadata": "9.0.0"
- }
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "TinyBDD": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "Microsoft.CodeAnalysis.Common": {
- "type": "Transitive",
- "resolved": "5.0.0",
- "contentHash": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "System.Collections.Immutable": "9.0.0",
- "System.Reflection.Metadata": "9.0.0"
- }
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Reflection.Metadata": {
- "type": "Transitive",
- "resolved": "9.0.0",
- "contentHash": "ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
- "dependencies": {
- "System.Collections.Immutable": "9.0.0"
- }
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators": {
- "type": "Project",
- "dependencies": {
- "PatternKit.Generators.Abstractions": "[1.0.0, )",
- "System.Collections.Immutable": "[10.0.8, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.CodeAnalysis.Analyzers": {
- "type": "CentralTransitive",
- "requested": "[5.3.0, )",
- "resolved": "3.11.0",
- "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "xunit.extensibility.core": {
- "type": "CentralTransitive",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- }
- },
- "net9.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "Microsoft.CodeAnalysis.CSharp": {
- "type": "Direct",
- "requested": "[5.0.0, )",
- "resolved": "5.0.0",
- "contentHash": "5DSyJ9bk+ATuDy7fp2Zt0mJStDVKbBoiz1DyfAwSa+k4H4IwykAUcV3URelw5b8/iVbfSaOwkwmPUZH6opZKCw==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0",
- "Microsoft.CodeAnalysis.Common": "[5.0.0]"
- }
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "TinyBDD": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "Microsoft.CodeAnalysis.Common": {
- "type": "Transitive",
- "resolved": "5.0.0",
- "contentHash": "ZXRAdvH6GiDeHRyd3q/km8Z44RoM6FBWHd+gen/la81mVnAdHTEsEkO5J0TCNXBymAcx5UYKt5TvgKBhaLJEow==",
- "dependencies": {
- "Microsoft.CodeAnalysis.Analyzers": "3.11.0"
- }
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators": {
- "type": "Project",
- "dependencies": {
- "PatternKit.Generators.Abstractions": "[1.0.0, )",
- "System.Collections.Immutable": "[10.0.8, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.CodeAnalysis.Analyzers": {
- "type": "CentralTransitive",
- "requested": "[5.3.0, )",
- "resolved": "3.11.0",
- "contentHash": "v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "xunit.extensibility.core": {
- "type": "CentralTransitive",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- }
- }
- }
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "Direct",
+ "requested": "[5.3.0, )",
+ "resolved": "5.3.0",
+ "contentHash": "SQFNGQF4f7UfDXKxMzzGNMr3fjrPDIjLfmRvvVgDCw+dyvEHDaRfHuKA5q0Pr0/JW0Gcw89TxrxrS/MjwBvluQ==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "5.3.0-2.25625.1",
+ "Microsoft.CodeAnalysis.Common": "[5.3.0]"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "TinyBDD": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "5.3.0",
+ "contentHash": "uC0qk3jzTQY7i90ehfnCqaOZpBUGJyPMiHJ3c0jOb8yaPBjWzIhVdNxPbeVzI74DB0C+YgBKPLqUkgFZzua5Mg==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "5.3.0-2.25625.1"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators": {
+ "type": "Project",
+ "dependencies": {
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "5.3.0-2.25625.1",
+ "contentHash": "4Yhh2fnu3G+J0J1lDc8WZVgMjgbynSeTfkl5IFJMFrmiIO0sc7Tjx+f3sFVV8Sd35PrIUWfof0RWc3lAMl7Azg=="
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "xunit.extensibility.core": {
+ "type": "CentralTransitive",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ }
+ },
+ "net8.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "Direct",
+ "requested": "[5.3.0, )",
+ "resolved": "5.3.0",
+ "contentHash": "SQFNGQF4f7UfDXKxMzzGNMr3fjrPDIjLfmRvvVgDCw+dyvEHDaRfHuKA5q0Pr0/JW0Gcw89TxrxrS/MjwBvluQ==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "5.3.0-2.25625.1",
+ "Microsoft.CodeAnalysis.Common": "[5.3.0]",
+ "System.Collections.Immutable": "9.0.0",
+ "System.Reflection.Metadata": "9.0.0"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "TinyBDD": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "5.3.0",
+ "contentHash": "uC0qk3jzTQY7i90ehfnCqaOZpBUGJyPMiHJ3c0jOb8yaPBjWzIhVdNxPbeVzI74DB0C+YgBKPLqUkgFZzua5Mg==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "5.3.0-2.25625.1",
+ "System.Collections.Immutable": "9.0.0",
+ "System.Reflection.Metadata": "9.0.0"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Reflection.Metadata": {
+ "type": "Transitive",
+ "resolved": "9.0.0",
+ "contentHash": "ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
+ "dependencies": {
+ "System.Collections.Immutable": "9.0.0"
+ }
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators": {
+ "type": "Project",
+ "dependencies": {
+ "PatternKit.Generators.Abstractions": "[1.0.0, )",
+ "System.Collections.Immutable": "[10.0.8, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "5.3.0-2.25625.1",
+ "contentHash": "4Yhh2fnu3G+J0J1lDc8WZVgMjgbynSeTfkl5IFJMFrmiIO0sc7Tjx+f3sFVV8Sd35PrIUWfof0RWc3lAMl7Azg=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "CentralTransitive",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ }
+ },
+ "net9.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "Direct",
+ "requested": "[5.3.0, )",
+ "resolved": "5.3.0",
+ "contentHash": "SQFNGQF4f7UfDXKxMzzGNMr3fjrPDIjLfmRvvVgDCw+dyvEHDaRfHuKA5q0Pr0/JW0Gcw89TxrxrS/MjwBvluQ==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "5.3.0-2.25625.1",
+ "Microsoft.CodeAnalysis.Common": "[5.3.0]"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "TinyBDD": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "5.3.0",
+ "contentHash": "uC0qk3jzTQY7i90ehfnCqaOZpBUGJyPMiHJ3c0jOb8yaPBjWzIhVdNxPbeVzI74DB0C+YgBKPLqUkgFZzua5Mg==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "5.3.0-2.25625.1"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators": {
+ "type": "Project",
+ "dependencies": {
+ "PatternKit.Generators.Abstractions": "[1.0.0, )",
+ "System.Collections.Immutable": "[10.0.8, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "CentralTransitive",
+ "requested": "[5.3.0, )",
+ "resolved": "5.3.0-2.25625.1",
+ "contentHash": "4Yhh2fnu3G+J0J1lDc8WZVgMjgbynSeTfkl5IFJMFrmiIO0sc7Tjx+f3sFVV8Sd35PrIUWfof0RWc3lAMl7Azg=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "CentralTransitive",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs b/test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs
new file mode 100644
index 00000000..afbd0c9b
--- /dev/null
+++ b/test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs
@@ -0,0 +1,251 @@
+using Microsoft.Extensions.DependencyInjection;
+using PatternKit.Cloud.Bulkhead;
+using PatternKit.Cloud.CircuitBreaker;
+using PatternKit.Cloud.PriorityQueue;
+using PatternKit.Cloud.QueueLoadLeveling;
+using PatternKit.Cloud.RateLimiting;
+using PatternKit.Cloud.Retry;
+using PatternKit.Hosting.DependencyInjection;
+using PatternKit.Messaging;
+using PatternKit.Messaging.Channels;
+using PatternKit.Messaging.Reliability;
+using PatternKit.Messaging.Storage;
+using TinyBDD;
+using TinyBDD.Xunit;
+using Xunit.Abstractions;
+
+namespace PatternKit.Hosting.Extensions.Tests.DependencyInjection;
+
+[Feature("PatternKit hosting extensions")]
+public sealed class PatternKitServiceCollectionExtensionsTests(ITestOutputHelper output) : TinyBddXunitBase(output)
+{
+ [Scenario("Messaging primitives register through IServiceCollection")]
+ [Fact]
+ public Task Messaging_Primitives_Register_Through_IServiceCollection()
+ => Given("a service collection with PatternKit messaging primitives", () =>
+ {
+ var services = new ServiceCollection();
+ services
+ .AddPatternKitMessageChannel(
+ "orders",
+ builder => builder.WithCapacity(1, MessageChannelBackpressurePolicy.Reject))
+ .AddPatternKitMessageStore(
+ "order-store",
+ builder => builder.IdentifyBy(static (message, _) => message.Payload.OrderId))
+ .AddPatternKitGuaranteedDelivery(
+ builder => builder
+ .Name("order-delivery")
+ .LeaseDuration(TimeSpan.FromSeconds(5))
+ .MaxDeliveryAttempts(2));
+
+ return services.BuildServiceProvider(validateScopes: true);
+ })
+ .When("resolving and using the registered primitives", ResolveMessagingRegistrationsAsync)
+ .Then("the registered services preserve production configuration", result =>
+ {
+ ScenarioExpect.Equal("orders", result.Channel.Name);
+ ScenarioExpect.True(result.Send.Accepted);
+ ScenarioExpect.Equal("order-store", result.Append.StoreName);
+ ScenarioExpect.Equal("order-1", result.Append.StoredMessage.MessageId);
+ ScenarioExpect.Equal("order-delivery", result.Delivery.Name);
+ ScenarioExpect.Equal(TimeSpan.FromSeconds(5), result.Delivery.LeaseDuration);
+ ScenarioExpect.Equal(2, result.Delivery.MaxDeliveryAttempts);
+ ScenarioExpect.NotNull(result.Lease);
+ })
+ .AssertPassed();
+
+ [Scenario("Cloud resilience primitives register through IServiceCollection")]
+ [Fact]
+ public Task Cloud_Resilience_Primitives_Register_Through_IServiceCollection()
+ => Given("a service collection with PatternKit cloud resilience primitives", () =>
+ {
+ var services = new ServiceCollection();
+ services
+ .AddPatternKitRetryPolicy(
+ "inventory-retry",
+ builder => builder
+ .WithMaxAttempts(2)
+ .HandleResult(static reply => !reply.Available))
+ .AddPatternKitCircuitBreakerPolicy(
+ "inventory-breaker",
+ builder => builder
+ .WithFailureThreshold(1)
+ .HandleResult(static reply => !reply.Available))
+ .AddPatternKitBulkheadPolicy(
+ "inventory-bulkhead",
+ builder => builder.WithMaxConcurrency(2))
+ .AddPatternKitRateLimitPolicy(
+ "inventory-rate-limit",
+ builder => builder.WithPermitLimit(1).WithWindow(TimeSpan.FromMinutes(1)))
+ .AddPatternKitQueueLoadLevelingPolicy(
+ "inventory-leveling",
+ builder => builder.WithMaxConcurrentWorkers(2).WithMaxQueueLength(4))
+ .AddPatternKitPriorityQueue(
+ static item => item.Priority,
+ "inventory-priority");
+
+ return services.BuildServiceProvider(validateScopes: true);
+ })
+ .When("resolving and using the registered policies", provider =>
+ {
+ using (provider)
+ {
+ var retry = provider.GetRequiredService>();
+ var breaker = provider.GetRequiredService>();
+ var bulkhead = provider.GetRequiredService>();
+ var rateLimit = provider.GetRequiredService>();
+ var leveling = provider.GetRequiredService>();
+ var priority = provider.GetRequiredService>();
+
+ var retryResult = retry.Execute(static () => new ServiceReply(true));
+ var breakerResult = breaker.Execute(static () => new ServiceReply(true));
+ var bulkheadResult = bulkhead.Execute(static () => new ServiceReply(true));
+ var rateLimitResult = rateLimit.Execute("tenant-a", static () => new ServiceReply(true));
+ var levelingResult = leveling.Execute(static () => new ServiceReply(true));
+ priority.Enqueue(new("slow", 1));
+ priority.Enqueue(new("fast", 10));
+ var next = priority.Dequeue();
+
+ return new CloudRegistrationResult(
+ retry,
+ breaker,
+ bulkhead,
+ rateLimit,
+ leveling,
+ priority,
+ retryResult,
+ breakerResult,
+ bulkheadResult,
+ rateLimitResult,
+ levelingResult,
+ next);
+ }
+ })
+ .Then("the registered policies execute with configured names and behavior", result =>
+ {
+ ScenarioExpect.Equal("inventory-retry", result.Retry.Name);
+ ScenarioExpect.True(result.RetryResult.Succeeded);
+ ScenarioExpect.Equal("inventory-breaker", result.Breaker.Name);
+ ScenarioExpect.True(result.BreakerResult.Succeeded);
+ ScenarioExpect.Equal("inventory-bulkhead", result.Bulkhead.Name);
+ ScenarioExpect.True(result.BulkheadResult.Succeeded);
+ ScenarioExpect.Equal("inventory-rate-limit", result.RateLimit.Name);
+ ScenarioExpect.True(result.RateLimitResult.Allowed);
+ ScenarioExpect.Equal("inventory-leveling", result.Leveling.Name);
+ ScenarioExpect.True(result.LevelingResult.Accepted);
+ ScenarioExpect.Equal("inventory-priority", result.Priority.Name);
+ ScenarioExpect.Equal("fast", result.Next.Item!.Id);
+ })
+ .AssertPassed();
+
+ [Scenario("Hosting extensions support DI lifetimes")]
+ [Fact]
+ public Task Hosting_Extensions_Support_Di_Lifetimes()
+ => Given("a service collection with scoped and transient PatternKit registrations", () =>
+ {
+ var services = new ServiceCollection();
+ services
+ .AddPatternKitMessageChannel(lifetime: ServiceLifetime.Scoped)
+ .AddPatternKitRetryPolicy(lifetime: ServiceLifetime.Transient);
+
+ return services.BuildServiceProvider(validateScopes: true);
+ })
+ .When("resolving across scopes", provider =>
+ {
+ using (provider)
+ using (var scopeA = provider.CreateScope())
+ using (var scopeB = provider.CreateScope())
+ {
+ var channelA1 = scopeA.ServiceProvider.GetRequiredService>();
+ var channelA2 = scopeA.ServiceProvider.GetRequiredService>();
+ var channelB = scopeB.ServiceProvider.GetRequiredService>();
+ var retryA = provider.GetRequiredService>();
+ var retryB = provider.GetRequiredService>();
+
+ return new LifetimeRegistrationResult(channelA1, channelA2, channelB, retryA, retryB);
+ }
+ })
+ .Then("scoped registrations reuse a scope and transient registrations create new policies", result =>
+ {
+ ScenarioExpect.Same(result.ChannelA1, result.ChannelA2);
+ ScenarioExpect.NotSame(result.ChannelA1, result.ChannelB);
+ ScenarioExpect.NotSame(result.RetryA, result.RetryB);
+ })
+ .AssertPassed();
+
+ [Scenario("Hosting extensions validate registration input")]
+ [Fact]
+ public Task Hosting_Extensions_Validate_Registration_Input()
+ => Given("invalid PatternKit hosting registration inputs", () => new InvalidRegistrationInputs(null, new ServiceCollection()))
+ .When("calling registration extensions", inputs => new InvalidRegistrationResults(
+ ScenarioExpect.Throws(
+ () => inputs.MissingServices!.AddPatternKitMessageChannel()),
+ ScenarioExpect.Throws(
+ () => inputs.Services.AddPatternKitPriorityQueue(null!)),
+ ScenarioExpect.Throws(
+ () => inputs.Services.AddPatternKitRetryPolicy(lifetime: (ServiceLifetime)99))))
+ .Then("the extensions reject invalid registrations explicitly", results =>
+ {
+ ScenarioExpect.Equal("services", results.MissingServicesException.ParamName);
+ ScenarioExpect.Equal("prioritySelector", results.PrioritySelectorException.ParamName);
+ ScenarioExpect.Equal("lifetime", results.InvalidLifetimeException.ParamName);
+ })
+ .AssertPassed();
+
+ private sealed record OrderCommand(string OrderId, decimal Total);
+ private sealed record ServiceReply(bool Available);
+ private sealed record WorkItem(string Id, int Priority);
+ private sealed record InvalidRegistrationInputs(IServiceCollection? MissingServices, IServiceCollection Services);
+
+ private sealed record InvalidRegistrationResults(
+ ArgumentNullException MissingServicesException,
+ ArgumentNullException PrioritySelectorException,
+ ArgumentOutOfRangeException InvalidLifetimeException);
+
+ private sealed record MessagingRegistrationResult(
+ MessageChannel Channel,
+ MessageStore Store,
+ GuaranteedDeliveryQueue Delivery,
+ MessageChannelSendResult Send,
+ MessageStoreAppendResult Append,
+ GuaranteedDeliveryLease? Lease);
+
+ private sealed record CloudRegistrationResult(
+ RetryPolicy Retry,
+ CircuitBreakerPolicy Breaker,
+ BulkheadPolicy Bulkhead,
+ RateLimitPolicy RateLimit,
+ QueueLoadLevelingPolicy Leveling,
+ PriorityQueuePolicy Priority,
+ RetryResult RetryResult,
+ CircuitBreakerResult BreakerResult,
+ BulkheadResult BulkheadResult,
+ RateLimitResult RateLimitResult,
+ QueueLoadLevelingResult LevelingResult,
+ PriorityQueueDequeueResult Next);
+
+ private sealed record LifetimeRegistrationResult(
+ MessageChannel ChannelA1,
+ MessageChannel ChannelA2,
+ MessageChannel ChannelB,
+ RetryPolicy RetryA,
+ RetryPolicy RetryB);
+
+ private static async Task ResolveMessagingRegistrationsAsync(ServiceProvider provider)
+ {
+ using (provider)
+ {
+ var channel = provider.GetRequiredService>();
+ var store = provider.GetRequiredService>();
+ var delivery = provider.GetRequiredService>();
+ var message = Message.Create(new("order-1", 125m));
+
+ var send = channel.Send(message);
+ var append = store.Append(message);
+ await delivery.EnqueueAsync(message);
+ var lease = await delivery.TryReceiveAsync();
+
+ return new MessagingRegistrationResult(channel, store, delivery, send, append, lease);
+ }
+ }
+}
diff --git a/test/PatternKit.Hosting.Extensions.Tests/PatternKit.Hosting.Extensions.Tests.csproj b/test/PatternKit.Hosting.Extensions.Tests/PatternKit.Hosting.Extensions.Tests.csproj
new file mode 100644
index 00000000..3dbbab5b
--- /dev/null
+++ b/test/PatternKit.Hosting.Extensions.Tests/PatternKit.Hosting.Extensions.Tests.csproj
@@ -0,0 +1,44 @@
+
+
+
+ net8.0;net9.0;net10.0
+ enable
+ enable
+ false
+ $(NoWarn);TBDD010;CS0618;xUnit1031;xUnit2002
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/PatternKit.Hosting.Extensions.Tests/packages.lock.json b/test/PatternKit.Hosting.Extensions.Tests/packages.lock.json
new file mode 100644
index 00000000..54bbcd03
--- /dev/null
+++ b/test/PatternKit.Hosting.Extensions.Tests/packages.lock.json
@@ -0,0 +1,443 @@
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.hosting.extensions": {
+ "type": "Project",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ },
+ "net8.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.hosting.extensions": {
+ "type": "Project",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ },
+ "net9.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.hosting.extensions": {
+ "type": "Project",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/PatternKit.Hosting.Extensions.Tests/xunit.runner.json b/test/PatternKit.Hosting.Extensions.Tests/xunit.runner.json
new file mode 100644
index 00000000..4c6a0fdf
--- /dev/null
+++ b/test/PatternKit.Hosting.Extensions.Tests/xunit.runner.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
+ "parallelizeTestCollections": true
+}
diff --git a/test/PatternKit.Tests/PatternKit.Tests.csproj b/test/PatternKit.Tests/PatternKit.Tests.csproj
index 64b8f4e9..4431bd86 100644
--- a/test/PatternKit.Tests/PatternKit.Tests.csproj
+++ b/test/PatternKit.Tests/PatternKit.Tests.csproj
@@ -21,7 +21,7 @@
-
+
diff --git a/test/PatternKit.Tests/packages.lock.json b/test/PatternKit.Tests/packages.lock.json
index 66459acc..247c1ea8 100644
--- a/test/PatternKit.Tests/packages.lock.json
+++ b/test/PatternKit.Tests/packages.lock.json
@@ -1,1200 +1,1203 @@
-{
- "version": 2,
- "dependencies": {
- "net10.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "System.Linq.Async": {
- "type": "Direct",
- "requested": "[7.0.1, )",
- "resolved": "7.0.1",
- "contentHash": "gwQtBHVY/WgqWgAYSe4JspXR+f1FvMbVIW4ixsJpGV/Kj8Nun3zp1ajIdvCWfmac8ektJGVLiJ/OR8JU9nZnMg==",
- "dependencies": {
- "System.Interactive.Async": "7.0.1"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.extensibility.core": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.5",
- "contentHash": "iVMtq9eRvzyhx8949EGT0OCYJfXi737SbRVzWXE5GrOgGj5AaZ9eUuxA/BSUfmOMALKn/g8KfFaNQw0eiB3lyA=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "System.Interactive.Async": {
- "type": "Transitive",
- "resolved": "7.0.1",
- "contentHash": "oL1iox7sAJL8i+muGzVMQjDB0axQgOoT5CkwYdap8cQJMkWDWMRErNqhOcZkn31+aKr/uCfgMEdhUARCU4G7gg=="
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.5",
- "contentHash": "v1SVsowG6YE1YnHVGmLWz57YTRCQRx9pH5ebIESXfm5isI9gA3QaMyg/oMTzPpXYZwSAVDzYItGJKfmV+pqXkQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- },
- "TinyBDD": {
- "type": "CentralTransitive",
- "requested": "[0.19.14, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- }
- },
- "net8.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "System.Linq.Async": {
- "type": "Direct",
- "requested": "[7.0.1, )",
- "resolved": "7.0.1",
- "contentHash": "gwQtBHVY/WgqWgAYSe4JspXR+f1FvMbVIW4ixsJpGV/Kj8Nun3zp1ajIdvCWfmac8ektJGVLiJ/OR8JU9nZnMg==",
- "dependencies": {
- "System.Interactive.Async": "7.0.1",
- "System.Linq.AsyncEnumerable": "10.0.6"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.extensibility.core": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.Interactive.Async": {
- "type": "Transitive",
- "resolved": "7.0.1",
- "contentHash": "oL1iox7sAJL8i+muGzVMQjDB0axQgOoT5CkwYdap8cQJMkWDWMRErNqhOcZkn31+aKr/uCfgMEdhUARCU4G7gg==",
- "dependencies": {
- "System.Linq.AsyncEnumerable": "10.0.6"
- }
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Linq.AsyncEnumerable": {
- "type": "Transitive",
- "resolved": "10.0.6",
- "contentHash": "1Ttf7dyLoKXks2bVBVULmDPOSjxaMEE3JRTe/KGEJl3rfepCc4ipUEGMIKa/iBKLSN8rjEedF8Qv3UCtiwaDBw=="
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "TinyBDD": {
- "type": "CentralTransitive",
- "requested": "[0.19.14, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- }
- },
- "net9.0": {
- "coverlet.collector": {
- "type": "Direct",
- "requested": "[10.0.1, )",
- "resolved": "10.0.1",
- "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
- },
- "Microsoft.NET.Test.Sdk": {
- "type": "Direct",
- "requested": "[18.6.0, )",
- "resolved": "18.6.0",
- "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
- "dependencies": {
- "Microsoft.CodeCoverage": "18.6.0",
- "Microsoft.TestPlatform.TestHost": "18.6.0"
- }
- },
- "System.Collections.Immutable": {
- "type": "Direct",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
- },
- "System.Linq.Async": {
- "type": "Direct",
- "requested": "[7.0.1, )",
- "resolved": "7.0.1",
- "contentHash": "gwQtBHVY/WgqWgAYSe4JspXR+f1FvMbVIW4ixsJpGV/Kj8Nun3zp1ajIdvCWfmac8ektJGVLiJ/OR8JU9nZnMg==",
- "dependencies": {
- "System.Interactive.Async": "7.0.1",
- "System.Linq.AsyncEnumerable": "10.0.6"
- }
- },
- "TinyBDD.Xunit": {
- "type": "Direct",
- "requested": "[0.19.8, )",
- "resolved": "0.19.8",
- "contentHash": "x5YhK3YbgqPltVvlIaDF5WREwjv7zYAkKb/0OUB5SVrO0vT3b4xE1eub6Jw3Ih7lytdbrOcecz20QAhoFyo2FA==",
- "dependencies": {
- "TinyBDD": "0.19.8",
- "xunit.abstractions": "2.0.3",
- "xunit.extensibility.core": "2.9.3"
- }
- },
- "xunit": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
- "dependencies": {
- "xunit.analyzers": "1.18.0",
- "xunit.assert": "2.9.3",
- "xunit.core": "[2.9.3]"
- }
- },
- "xunit.extensibility.core": {
- "type": "Direct",
- "requested": "[2.9.3, )",
- "resolved": "2.9.3",
- "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
- "dependencies": {
- "xunit.abstractions": "2.0.3"
- }
- },
- "xunit.runner.visualstudio": {
- "type": "Direct",
- "requested": "[3.1.5, )",
- "resolved": "3.1.5",
- "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
- },
- "Microsoft.CodeCoverage": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
- },
- "Microsoft.Extensions.Configuration.CommandLine": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "System.Diagnostics.DiagnosticSource": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Console": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Debug": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Diagnostics.EventLog": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.EventSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8",
- "System.Text.Json": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Microsoft.TestPlatform.ObjectModel": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
- },
- "Microsoft.TestPlatform.TestHost": {
- "type": "Transitive",
- "resolved": "18.6.0",
- "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
- "dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "18.6.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "System.Diagnostics.DiagnosticSource": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
- },
- "System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
- },
- "System.Interactive.Async": {
- "type": "Transitive",
- "resolved": "7.0.1",
- "contentHash": "oL1iox7sAJL8i+muGzVMQjDB0axQgOoT5CkwYdap8cQJMkWDWMRErNqhOcZkn31+aKr/uCfgMEdhUARCU4G7gg==",
- "dependencies": {
- "System.Linq.AsyncEnumerable": "10.0.6"
- }
- },
- "System.IO.Pipelines": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
- },
- "System.Linq.AsyncEnumerable": {
- "type": "Transitive",
- "resolved": "10.0.6",
- "contentHash": "1Ttf7dyLoKXks2bVBVULmDPOSjxaMEE3JRTe/KGEJl3rfepCc4ipUEGMIKa/iBKLSN8rjEedF8Qv3UCtiwaDBw=="
- },
- "System.Text.Encodings.Web": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
- },
- "System.Text.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
- "dependencies": {
- "System.IO.Pipelines": "10.0.8",
- "System.Text.Encodings.Web": "10.0.8"
- }
- },
- "xunit.abstractions": {
- "type": "Transitive",
- "resolved": "2.0.3",
- "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
- },
- "xunit.analyzers": {
- "type": "Transitive",
- "resolved": "1.18.0",
- "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
- },
- "xunit.assert": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
- },
- "xunit.core": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]",
- "xunit.extensibility.execution": "[2.9.3]"
- }
- },
- "xunit.extensibility.execution": {
- "type": "Transitive",
- "resolved": "2.9.3",
- "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
- "dependencies": {
- "xunit.extensibility.core": "[2.9.3]"
- }
- },
- "patternkit.core": {
- "type": "Project"
- },
- "patternkit.examples": {
- "type": "Project",
- "dependencies": {
- "JetBrains.Annotations": "[2025.2.4, )",
- "Microsoft.Extensions.Configuration": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
- "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
- "Microsoft.Extensions.Hosting": "[10.0.8, )",
- "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
- "Microsoft.Extensions.Options": "[10.0.8, )",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
- "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
- "PatternKit.Core": "[1.0.0, )",
- "PatternKit.Generators.Abstractions": "[1.0.0, )"
- }
- },
- "patternkit.generators.abstractions": {
- "type": "Project"
- },
- "JetBrains.Annotations": {
- "type": "CentralTransitive",
- "requested": "[2025.2.4, )",
- "resolved": "2025.2.4",
- "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
- },
- "Microsoft.Extensions.Configuration": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Configuration": "10.0.8",
- "Microsoft.Extensions.Logging.Console": "10.0.8",
- "Microsoft.Extensions.Logging.Debug": "10.0.8",
- "Microsoft.Extensions.Logging.EventLog": "10.0.8",
- "Microsoft.Extensions.Logging.EventSource": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.DataAnnotations": {
- "type": "CentralTransitive",
- "requested": "[10.0.8, )",
- "resolved": "10.0.8",
- "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "TinyBDD": {
- "type": "CentralTransitive",
- "requested": "[0.19.14, )",
- "resolved": "0.19.8",
- "contentHash": "W5J/Ftk6MMphFsu54Nm4rePdQvPQSANAeU6yAPs1+SbdBsETNMldNFj6wJdpr/nh7GLJfOPHmbhER1MubLv+tg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.5",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.5"
- }
- }
- }
- }
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "System.Linq.Async": {
+ "type": "Direct",
+ "requested": "[7.0.1, )",
+ "resolved": "7.0.1",
+ "contentHash": "gwQtBHVY/WgqWgAYSe4JspXR+f1FvMbVIW4ixsJpGV/Kj8Nun3zp1ajIdvCWfmac8ektJGVLiJ/OR8JU9nZnMg==",
+ "dependencies": {
+ "System.Interactive.Async": "7.0.1"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "System.Interactive.Async": {
+ "type": "Transitive",
+ "resolved": "7.0.1",
+ "contentHash": "oL1iox7sAJL8i+muGzVMQjDB0axQgOoT5CkwYdap8cQJMkWDWMRErNqhOcZkn31+aKr/uCfgMEdhUARCU4G7gg=="
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ },
+ "net8.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "System.Linq.Async": {
+ "type": "Direct",
+ "requested": "[7.0.1, )",
+ "resolved": "7.0.1",
+ "contentHash": "gwQtBHVY/WgqWgAYSe4JspXR+f1FvMbVIW4ixsJpGV/Kj8Nun3zp1ajIdvCWfmac8ektJGVLiJ/OR8JU9nZnMg==",
+ "dependencies": {
+ "System.Interactive.Async": "7.0.1",
+ "System.Linq.AsyncEnumerable": "10.0.6"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.Interactive.Async": {
+ "type": "Transitive",
+ "resolved": "7.0.1",
+ "contentHash": "oL1iox7sAJL8i+muGzVMQjDB0axQgOoT5CkwYdap8cQJMkWDWMRErNqhOcZkn31+aKr/uCfgMEdhUARCU4G7gg==",
+ "dependencies": {
+ "System.Linq.AsyncEnumerable": "10.0.6"
+ }
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Linq.AsyncEnumerable": {
+ "type": "Transitive",
+ "resolved": "10.0.6",
+ "contentHash": "1Ttf7dyLoKXks2bVBVULmDPOSjxaMEE3JRTe/KGEJl3rfepCc4ipUEGMIKa/iBKLSN8rjEedF8Qv3UCtiwaDBw=="
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ },
+ "net9.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.0.1, )",
+ "resolved": "10.0.1",
+ "contentHash": "27jXSV/0DbVqF5jDrAxuQFZ9oaz6gmG03p8ttxAFk+X0M4woFYj7MoWDLCna5EGLb0CE6OE7X6ZH3Wt5smTtaA=="
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.6.0, )",
+ "resolved": "18.6.0",
+ "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.6.0",
+ "Microsoft.TestPlatform.TestHost": "18.6.0"
+ }
+ },
+ "System.Collections.Immutable": {
+ "type": "Direct",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
+ },
+ "System.Linq.Async": {
+ "type": "Direct",
+ "requested": "[7.0.1, )",
+ "resolved": "7.0.1",
+ "contentHash": "gwQtBHVY/WgqWgAYSe4JspXR+f1FvMbVIW4ixsJpGV/Kj8Nun3zp1ajIdvCWfmac8ektJGVLiJ/OR8JU9nZnMg==",
+ "dependencies": {
+ "System.Interactive.Async": "7.0.1",
+ "System.Linq.AsyncEnumerable": "10.0.6"
+ }
+ },
+ "TinyBDD.Xunit": {
+ "type": "Direct",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "Rc9ic+sEog916hOOWaqW7OxFW6Bt9eGY8dX5YGyd4ognqbxjTolLd74shdAf6v92nNIJWzunAFiqfX2rJ6Ea2Q==",
+ "dependencies": {
+ "TinyBDD": "0.19.21",
+ "xunit.abstractions": "2.0.3",
+ "xunit.extensibility.core": "2.9.3"
+ }
+ },
+ "xunit": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==",
+ "dependencies": {
+ "xunit.analyzers": "1.18.0",
+ "xunit.assert": "2.9.3",
+ "xunit.core": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.core": {
+ "type": "Direct",
+ "requested": "[2.9.3, )",
+ "resolved": "2.9.3",
+ "contentHash": "kf3si0YTn2a8J8eZNb+zFpwfoyvIrQ7ivNk5ZYA5yuYk1bEtMe4DxJ2CF/qsRgmEnDr7MnW1mxylBaHTZ4qErA==",
+ "dependencies": {
+ "xunit.abstractions": "2.0.3"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA=="
+ },
+ "Microsoft.Extensions.Configuration.CommandLine": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "nQXq1a4MiInYh+0VF9fguxAl06q2ftmOyYQ+5e933s4rk57xjgkbTjUdFUySzjrcrvDeWsSqlZB+TE8+TbM2HA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.UserSecrets": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Diagnostics.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "System.Diagnostics.DiagnosticSource": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rxSLTO7xTbcC3DuEJHNEijBr8g14Jj62zQ+DeFu68bsoTYoU8jLcMhc1735PV21bESXsATlL5LsfaWH71FOWAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Console": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "6cv53sHsPnFS56PJw8X4GbNcjeX1KGyFJRxJWvxOgK63cnqeSB1k1eRwjUdkse0tBhwlH6qc9EOYDlan+CYTuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.Debug": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "4HW3M1lGHHDwEYcDZHRNptBQ48LCI2yW+XV4vuxdfQUqafTpVT8j9RqAsez08krZKhIiaArWu8iQq5uRKZ9Ffg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "kK/C3SLIoGrcZvddYQw4eMm6YaROiSYBO7YgUR5Hdv5l+GIjBmbvQK5cST2FqjeubiAOPqFEimBT2N/8wVI+3A==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "System.Diagnostics.EventLog": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Logging.EventSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HX2M0MgzwQM8jpLe3AYAEMd0YsUfOP5RgGrDuk+Ki9n7HSuMbvLm9TEV3qRI3Pg9aqxc56GfgK/KdMRBhfWwKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8",
+ "System.Text.Json": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.6.0",
+ "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.6.0",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "System.Diagnostics.DiagnosticSource": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "rQHsK7Xr8Uz3449860ayVXp/CaLmrhHlMPxbpT/ibOPtp/dTTsr6+f/SxaGO2NzxHf+0siLE0UfdVN5z1I0EgQ=="
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "+Ro7WgIom+BDNH+YhTuZKL6QJ0ctfOpTyfUG/h3aU5KwXt3OaNf0wYWrTvoBUj+34Dy5V8dN9yCco1hAJQ4txw=="
+ },
+ "System.Interactive.Async": {
+ "type": "Transitive",
+ "resolved": "7.0.1",
+ "contentHash": "oL1iox7sAJL8i+muGzVMQjDB0axQgOoT5CkwYdap8cQJMkWDWMRErNqhOcZkn31+aKr/uCfgMEdhUARCU4G7gg==",
+ "dependencies": {
+ "System.Linq.AsyncEnumerable": "10.0.6"
+ }
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "STVNTIVd+UrYvSo31D2tOOTs19IThdjGDN14FS3/NZb4PWsVakAg/VT4sq+JYWGP/GtazzvXwebWL6LPBAwnFQ=="
+ },
+ "System.Linq.AsyncEnumerable": {
+ "type": "Transitive",
+ "resolved": "10.0.6",
+ "contentHash": "1Ttf7dyLoKXks2bVBVULmDPOSjxaMEE3JRTe/KGEJl3rfepCc4ipUEGMIKa/iBKLSN8rjEedF8Qv3UCtiwaDBw=="
+ },
+ "System.Text.Encodings.Web": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "HvFIJXM/CMTRu6PBQmjukQZ/O32Vx5fOEYZs0kq0OD5s9vJQ19KHLWCVmnfh3gNC7pbYomm06tzOTgJBflr/nQ=="
+ },
+ "System.Text.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "/fysUDkD7oFGaRPoA7IaFs0wRoO3GlwlCNq2P+xWZqxLy1R4cktRSKfMjJDy9ymS4grL7IDVdt8de8L9a0z55Q==",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.8",
+ "System.Text.Encodings.Web": "10.0.8"
+ }
+ },
+ "xunit.abstractions": {
+ "type": "Transitive",
+ "resolved": "2.0.3",
+ "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.18.0",
+ "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ=="
+ },
+ "xunit.assert": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA=="
+ },
+ "xunit.core": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]",
+ "xunit.extensibility.execution": "[2.9.3]"
+ }
+ },
+ "xunit.extensibility.execution": {
+ "type": "Transitive",
+ "resolved": "2.9.3",
+ "contentHash": "yMb6vMESlSrE3Wfj7V6cjQ3S4TXdXpRqYeNEI3zsX31uTsGMJjEw6oD5F5u1cHnMptjhEECnmZSsPxB6ChZHDQ==",
+ "dependencies": {
+ "xunit.extensibility.core": "[2.9.3]"
+ }
+ },
+ "patternkit.core": {
+ "type": "Project"
+ },
+ "patternkit.examples": {
+ "type": "Project",
+ "dependencies": {
+ "JetBrains.Annotations": "[2025.2.4, )",
+ "Microsoft.Extensions.Configuration": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Configuration.Binder": "[10.0.8, )",
+ "Microsoft.Extensions.DependencyInjection": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting": "[10.0.8, )",
+ "Microsoft.Extensions.Hosting.Abstractions": "[10.0.8, )",
+ "Microsoft.Extensions.Options": "[10.0.8, )",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "[10.0.8, )",
+ "Microsoft.Extensions.Options.DataAnnotations": "[10.0.8, )",
+ "PatternKit.Core": "[1.0.0, )",
+ "PatternKit.Generators.Abstractions": "[1.0.0, )"
+ }
+ },
+ "patternkit.generators.abstractions": {
+ "type": "Project"
+ },
+ "JetBrains.Annotations": {
+ "type": "CentralTransitive",
+ "requested": "[2025.2.4, )",
+ "resolved": "2025.2.4",
+ "contentHash": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A=="
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
+ },
+ "Microsoft.Extensions.Hosting": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VfEyM2BipThcSd0GG/FS2ZPCVCTiosVq2zLKEDsfeMIg78sOVZPEmS7CgWlb+dqTlgXvLSL4OG2q6sM4xRhHNg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.8",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.Configuration.CommandLine": "10.0.8",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.8",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Json": "10.0.8",
+ "Microsoft.Extensions.Configuration.UserSecrets": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.8",
+ "Microsoft.Extensions.Logging.Console": "10.0.8",
+ "Microsoft.Extensions.Logging.Debug": "10.0.8",
+ "Microsoft.Extensions.Logging.EventLog": "10.0.8",
+ "Microsoft.Extensions.Logging.EventSource": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Hosting.Abstractions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8",
+ "Microsoft.Extensions.Primitives": "10.0.8"
+ }
+ },
+ "Microsoft.Extensions.Options.DataAnnotations": {
+ "type": "CentralTransitive",
+ "requested": "[10.0.8, )",
+ "resolved": "10.0.8",
+ "contentHash": "HhxwIGECGGJ8ox2kvm6/hkN/w1ZyKrO5uu/rLAL51V0ypPdahoNf+dHS6Er/DJs2aeUmH38ZTTzACfLy1O6w3Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
+ "TinyBDD": {
+ "type": "CentralTransitive",
+ "requested": "[0.19.21, )",
+ "resolved": "0.19.21",
+ "contentHash": "DYh22Z40sOKUod6aoBUpmDNHbwJyl8Mij3sT4bZXY9HvdnXOVdZC9DLNSM7wg8TbcJRCSvXk5tMtaCcH8AkFKw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.8",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
+ }
+ }
+ }
+ }
}
\ No newline at end of file