Soenneker.Utils.AsyncSingleton
3.0.558
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Utils.AsyncSingleton --version 3.0.558
NuGet\Install-Package Soenneker.Utils.AsyncSingleton -Version 3.0.558
<PackageReference Include="Soenneker.Utils.AsyncSingleton" Version="3.0.558" />
paket add Soenneker.Utils.AsyncSingleton --version 3.0.558
#r "nuget: Soenneker.Utils.AsyncSingleton, 3.0.558"
// Install Soenneker.Utils.AsyncSingleton as a Cake Addin #addin nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.558 // Install Soenneker.Utils.AsyncSingleton as a Cake Tool #tool nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.558
Soenneker.Utils.AsyncSingleton
AsyncSingleton
is a lightweight utility that provides lazy (and optionally asynchronous) initialization of an instance. It ensures that the instance is only created once, even in highly concurrent scenarios. It also offers both synchronous and asynchronous initialization methods while supporting a variety of initialization signatures. Additionally, AsyncSingleton
implements both synchronous and asynchronous disposal.
Features
- Lazy Initialization: The instance is created only upon the first call of
Get()
,GetAsync()
,Init()
orInitSync()
. - Thread-safe: Uses asynchronous locking for coordinated initialization in concurrent environments.
- Multiple Initialization Patterns:
- Sync and async initialization
- With or without parameters (
params object[]
) - With or without
CancellationToken
- Re-initialization Guard: Once the singleton is initialized (or has begun initializing), further initialization reconfigurations are disallowed.
Installation
dotnet add package Soenneker.Utils.AsyncSingleton
There are two different types: AsyncSingleton
, and AsyncSingleton<T>
:
AsyncSingleton<T>
Useful in scenarios where you need a result of the initialization. Get()
is the primary method.
using Microsoft.Extensions.Logging;
public class MyService
{
private readonly ILogger<MyService> _logger;
private readonly AsyncSingleton<HttpClient> _asyncSingleton;
public MyService(ILogger<MyService> logger)
{
_logger = logger;
_asyncSingleton = new AsyncSingleton(async () =>
{
_logger.LogInformation("Initializing the singleton resource synchronously...");
await Task.Delay(1000);
return new HttpClient();
});
}
public async ValueTask StartWork()
{
var httpClient = await _asyncSingleton.Get();
// At this point the task has been run, guaranteed only once (no matter if this is called concurrently)
var sameHttpClient = await _asyncSingleton.Get(); // This is the same instance of the httpClient above
}
}
AsyncSingleton
Useful in scenarios where you just need async single initialization, and you don't ever need to leverage an instance. Init()
is the primary method.
using Microsoft.Extensions.Logging;
public class MyService
{
private readonly ILogger<MyService> _logger;
private readonly AsyncSingleton _singleExecution;
public MyService(ILogger<MyService> logger)
{
_logger = logger;
_singleExecution = new AsyncSingleton(async () =>
{
_logger.LogInformation("Initializing the singleton resource ...");
await Task.Delay(1000); // Simulates an async call
return new object(); // This object is needed for AsyncSingleton to recognize that initialization has occurred
});
}
public async ValueTask StartWork()
{
await _singleExecution.Init();
// At this point the task has been run, guaranteed only once (no matter if this is called concurrently)
await _singleExecution.Init(); // This will NOT execute the task, since it's already been called
}
}
Tips:
- If you need to cancel the initialization, pass a
CancellationToken
to theInit()
, andGet()
method. This will cancel any locking occurring during initialization. - If you use a type of
AsyncSingleton
that implementsIDisposable
orIAsyncDisposable
, be sure to dispose of theAsyncSingleton
instance. This will dispose the underlying instance. - Be careful about updating the underlying instance directly, as
AsyncSingleton
holds a reference to it, and will return those changes to further callers. SetInitialization()
can be used to set the initialization function after theAsyncSingleton
has been created. This can be useful in scenarios where the initialization function is not known at the time of creation.- Try not to use an asynchronous initialization method, and then retrieve it synchronously. If you do so,
AsyncSingleton
will block to maintain thread-safety. - Using a synchronous initialization method with asynchronous retrieval will not block, and will still provide thread-safety.
- Similarly, if the underlying instance is
IAsyncDisposable
, try to leverageAsyncSingleton.DisposeAsync()
. UsingAsyncSingleton.DisposeAsync()
with anIDisposable
underlying instance is fine.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net9.0
- Nito.AsyncEx (>= 5.1.2)
- Soenneker.Extensions.ValueTask (>= 3.0.74)
NuGet packages (23)
Showing the top 5 NuGet packages that depend on Soenneker.Utils.AsyncSingleton:
Package | Downloads |
---|---|
Soenneker.Utils.MemoryStream
An easy modern MemoryStream utility |
|
Soenneker.Redis.Client
A utility library for Redis client accessibility |
|
Soenneker.Blob.Container
A utility library for Azure Blob storage container operations |
|
Soenneker.ServiceBus.Admin
A utility library for Azure Service Bus Administration client accessibility |
|
Soenneker.ServiceBus.Client
A utility library for Azure Service Bus client accessibility |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.567 | 0 | 1/11/2025 |
3.0.566 | 113 | 1/11/2025 |
3.0.565 | 117 | 1/11/2025 |
3.0.564 | 127 | 1/10/2025 |
3.0.563 | 795 | 1/10/2025 |
3.0.562 | 154 | 1/10/2025 |
3.0.561 | 305 | 1/10/2025 |
3.0.560 | 33 | 1/10/2025 |
3.0.559 | 33 | 1/10/2025 |
3.0.558 | 2,980 | 1/8/2025 |
3.0.557 | 43 | 1/8/2025 |
3.0.556 | 2,741 | 1/3/2025 |
3.0.555 | 2,716 | 1/3/2025 |
3.0.554 | 3,644 | 1/2/2025 |
3.0.553 | 599 | 1/2/2025 |
3.0.552 | 104 | 1/2/2025 |
3.0.551 | 2,025 | 1/2/2025 |
3.0.550 | 4,727 | 1/1/2025 |
3.0.549 | 678 | 1/1/2025 |
3.0.548 | 1,080 | 1/1/2025 |
3.0.547 | 1,266 | 1/1/2025 |
3.0.546 | 82 | 1/1/2025 |
3.0.545 | 561 | 12/31/2024 |
3.0.544 | 86 | 12/31/2024 |
3.0.543 | 196 | 12/31/2024 |
3.0.542 | 6,659 | 12/31/2024 |
3.0.541 | 7,084 | 12/31/2024 |
3.0.540 | 2,913 | 12/31/2024 |
3.0.539 | 3,712 | 12/31/2024 |
3.0.538 | 2,661 | 12/31/2024 |
3.0.537 | 1,099 | 12/31/2024 |
3.0.536 | 80 | 12/31/2024 |
3.0.535 | 4,613 | 12/31/2024 |
3.0.534 | 14,071 | 12/27/2024 |
3.0.533 | 2,613 | 12/27/2024 |
3.0.532 | 9,687 | 12/24/2024 |
3.0.531 | 605 | 12/24/2024 |
3.0.530 | 1,414 | 12/24/2024 |
3.0.529 | 241 | 12/24/2024 |
3.0.528 | 290 | 12/24/2024 |
3.0.527 | 1,676 | 12/23/2024 |
3.0.526 | 3,437 | 12/23/2024 |
3.0.525 | 1,631 | 12/23/2024 |
3.0.524 | 1,518 | 12/23/2024 |
3.0.523 | 2,127 | 12/23/2024 |
3.0.522 | 1,117 | 12/23/2024 |
3.0.521 | 2,733 | 12/22/2024 |
3.0.520 | 77 | 12/22/2024 |
3.0.519 | 11,785 | 12/22/2024 |
3.0.518 | 100 | 12/22/2024 |
3.0.517 | 8,692 | 12/22/2024 |
3.0.516 | 77 | 12/22/2024 |
3.0.515 | 4,155 | 12/22/2024 |
3.0.514 | 78 | 12/22/2024 |
3.0.513 | 791 | 12/21/2024 |
3.0.512 | 243 | 12/21/2024 |
3.0.511 | 77 | 12/21/2024 |
3.0.510 | 7,345 | 12/21/2024 |
3.0.509 | 796 | 12/21/2024 |
3.0.508 | 74 | 12/21/2024 |
3.0.507 | 1,273 | 12/21/2024 |
3.0.506 | 82 | 12/21/2024 |
3.0.505 | 4,461 | 12/21/2024 |
3.0.504 | 1,409 | 12/21/2024 |
3.0.503 | 3,440 | 12/21/2024 |
3.0.502 | 76 | 12/21/2024 |
3.0.501 | 2,131 | 12/20/2024 |
3.0.500 | 2,207 | 12/20/2024 |
3.0.499 | 4,147 | 12/20/2024 |
3.0.498 | 1,278 | 12/20/2024 |
3.0.497 | 574 | 12/20/2024 |
3.0.496 | 6,470 | 12/19/2024 |
3.0.495 | 536 | 12/19/2024 |
3.0.494 | 955 | 12/18/2024 |
3.0.493 | 494 | 12/18/2024 |
3.0.492 | 10,634 | 12/17/2024 |
3.0.491 | 349 | 12/17/2024 |
3.0.490 | 774 | 12/17/2024 |
3.0.489 | 1,000 | 12/17/2024 |
3.0.488 | 1,046 | 12/16/2024 |
3.0.487 | 310 | 12/16/2024 |
3.0.486 | 73 | 12/16/2024 |
3.0.485 | 9,311 | 12/9/2024 |
3.0.484 | 2,134 | 12/9/2024 |
3.0.483 | 4,747 | 12/9/2024 |
3.0.482 | 898 | 12/9/2024 |
3.0.480 | 9,585 | 12/6/2024 |
3.0.479 | 5,140 | 12/6/2024 |
3.0.478 | 1,642 | 12/6/2024 |
3.0.477 | 923 | 12/6/2024 |
3.0.476 | 606 | 12/6/2024 |
3.0.475 | 2,019 | 12/6/2024 |
3.0.474 | 6,271 | 12/6/2024 |
3.0.473 | 8,344 | 12/5/2024 |
3.0.472 | 934 | 12/5/2024 |
3.0.471 | 4,864 | 12/5/2024 |
3.0.470 | 2,172 | 12/5/2024 |
3.0.469 | 603 | 12/5/2024 |
3.0.468 | 4,405 | 12/4/2024 |
3.0.467 | 2,347 | 12/4/2024 |
3.0.466 | 2,550 | 12/4/2024 |
3.0.465 | 6,783 | 12/3/2024 |
3.0.464 | 276 | 12/3/2024 |
3.0.463 | 1,546 | 12/3/2024 |
3.0.462 | 5,842 | 12/3/2024 |
3.0.461 | 1,098 | 12/3/2024 |
3.0.460 | 3,369 | 12/3/2024 |
3.0.459 | 82 | 12/3/2024 |
3.0.458 | 714 | 12/3/2024 |
3.0.457 | 7,787 | 12/2/2024 |
3.0.456 | 3,462 | 12/2/2024 |
3.0.455 | 1,000 | 12/2/2024 |
3.0.454 | 867 | 12/1/2024 |
3.0.453 | 4,577 | 12/1/2024 |
3.0.452 | 4,978 | 12/1/2024 |
3.0.451 | 5,112 | 11/29/2024 |
3.0.450 | 7,339 | 11/20/2024 |
3.0.449 | 5,453 | 11/20/2024 |
3.0.448 | 384 | 11/20/2024 |
3.0.447 | 1,882 | 11/20/2024 |
3.0.445 | 2,352 | 11/19/2024 |
3.0.444 | 2,087 | 11/19/2024 |
3.0.443 | 5,667 | 11/19/2024 |
3.0.442 | 4,029 | 11/19/2024 |
3.0.441 | 75 | 11/19/2024 |
3.0.439 | 11,032 | 11/14/2024 |
3.0.438 | 4,272 | 11/14/2024 |
3.0.437 | 1,825 | 11/14/2024 |
3.0.436 | 3,347 | 11/14/2024 |
3.0.435 | 316 | 11/14/2024 |
3.0.434 | 87 | 11/14/2024 |
3.0.433 | 1,143 | 11/14/2024 |
3.0.432 | 85 | 11/14/2024 |
2.1.431 | 15,375 | 11/13/2024 |
2.1.430 | 3,152 | 11/13/2024 |
2.1.429 | 2,453 | 11/12/2024 |
2.1.428 | 11,563 | 11/9/2024 |
2.1.427 | 2,364 | 11/9/2024 |
2.1.426 | 2,549 | 11/8/2024 |
2.1.425 | 1,164 | 11/8/2024 |
2.1.424 | 1,310 | 11/8/2024 |
2.1.423 | 1,510 | 11/8/2024 |
2.1.422 | 1,755 | 11/8/2024 |
2.1.421 | 4,689 | 11/8/2024 |
2.1.420 | 18,048 | 11/1/2024 |
2.1.419 | 8,253 | 10/29/2024 |
2.1.418 | 3,222 | 10/29/2024 |
2.1.417 | 4,380 | 10/29/2024 |
2.1.416 | 8,177 | 10/28/2024 |
2.1.415 | 8,293 | 10/26/2024 |
2.1.414 | 8,547 | 10/22/2024 |
2.1.413 | 2,949 | 10/22/2024 |
2.1.412 | 1,662 | 10/22/2024 |
2.1.411 | 9,023 | 10/17/2024 |
2.1.410 | 8,053 | 10/15/2024 |
2.1.409 | 1,479 | 10/14/2024 |
2.1.408 | 8,344 | 10/11/2024 |
2.1.407 | 2,299 | 10/11/2024 |
2.1.406 | 1,490 | 10/11/2024 |
2.1.404 | 12,280 | 10/8/2024 |
2.1.403 | 5,067 | 10/8/2024 |
2.1.402 | 15,095 | 10/3/2024 |
2.1.401 | 1,096 | 10/3/2024 |
2.1.400 | 2,543 | 10/3/2024 |
2.1.399 | 9,816 | 10/2/2024 |
2.1.398 | 3,243 | 10/2/2024 |
2.1.397 | 10,214 | 10/1/2024 |
2.1.396 | 913 | 10/1/2024 |
2.1.395 | 5,063 | 9/30/2024 |
2.1.394 | 7,897 | 9/29/2024 |
2.1.393 | 2,550 | 9/29/2024 |
2.1.392 | 2,451 | 9/29/2024 |
2.1.391 | 6,897 | 9/27/2024 |
2.1.390 | 4,729 | 9/27/2024 |
2.1.389 | 152 | 9/27/2024 |
2.1.388 | 731 | 9/27/2024 |
2.1.387 | 1,753 | 9/27/2024 |
2.1.386 | 97 | 9/27/2024 |
2.1.385 | 10,478 | 9/26/2024 |
2.1.384 | 9,189 | 9/26/2024 |
2.1.383 | 3,997 | 9/26/2024 |
2.1.382 | 11,562 | 9/23/2024 |
2.1.381 | 2,874 | 9/23/2024 |
2.1.380 | 4,987 | 9/23/2024 |
2.1.379 | 4,946 | 9/23/2024 |
2.1.378 | 3,741 | 9/23/2024 |
2.1.377 | 760 | 9/23/2024 |
2.1.376 | 1,873 | 9/23/2024 |
2.1.375 | 88 | 9/23/2024 |
2.1.374 | 13,642 | 9/17/2024 |
2.1.373 | 666 | 9/17/2024 |
2.1.372 | 2,732 | 9/17/2024 |
2.1.371 | 2,738 | 9/17/2024 |
2.1.370 | 3,116 | 9/17/2024 |
2.1.369 | 4,238 | 9/17/2024 |
2.1.368 | 4,735 | 9/17/2024 |
2.1.367 | 15,644 | 9/16/2024 |
2.1.366 | 8,019 | 9/12/2024 |
2.1.365 | 3,050 | 9/11/2024 |
2.1.363 | 8,903 | 9/11/2024 |
2.1.362 | 17,194 | 9/10/2024 |
2.1.361 | 721 | 9/10/2024 |
2.1.360 | 1,039 | 9/10/2024 |
2.1.359 | 915 | 9/10/2024 |
2.1.358 | 3,671 | 9/9/2024 |
2.1.357 | 1,511 | 9/9/2024 |
2.1.356 | 6,282 | 9/9/2024 |
2.1.355 | 1,745 | 9/9/2024 |
2.1.354 | 7,019 | 9/9/2024 |
2.1.353 | 13,479 | 9/7/2024 |
2.1.352 | 9,917 | 9/6/2024 |
2.1.351 | 5,131 | 9/5/2024 |
2.1.350 | 5,166 | 9/5/2024 |
2.1.349 | 552 | 9/5/2024 |
2.1.348 | 134 | 9/5/2024 |
2.1.347 | 9,037 | 9/5/2024 |
2.1.346 | 1,027 | 9/4/2024 |
2.1.345 | 13,602 | 9/3/2024 |
2.1.344 | 6,130 | 9/3/2024 |
2.1.343 | 4,526 | 9/3/2024 |
2.1.342 | 8,677 | 8/29/2024 |
2.1.341 | 7,257 | 8/26/2024 |
2.1.340 | 7,682 | 8/21/2024 |
2.1.339 | 2,817 | 8/21/2024 |
2.1.338 | 1,645 | 8/20/2024 |
2.1.337 | 5,798 | 8/20/2024 |
2.1.336 | 114 | 8/20/2024 |
2.1.335 | 116 | 8/20/2024 |
2.1.334 | 9,763 | 8/19/2024 |
2.1.333 | 9,485 | 8/15/2024 |
2.1.332 | 9,480 | 8/13/2024 |
2.1.331 | 7,945 | 8/6/2024 |
2.1.330 | 4,345 | 8/6/2024 |
2.1.329 | 6,560 | 8/1/2024 |
2.1.328 | 1,352 | 8/1/2024 |
2.1.327 | 623 | 8/1/2024 |
2.1.326 | 9,479 | 7/25/2024 |
2.1.325 | 1,975 | 7/25/2024 |
2.1.324 | 1,707 | 7/25/2024 |
2.1.323 | 267 | 7/24/2024 |
2.1.322 | 716 | 7/24/2024 |
2.1.321 | 341 | 7/24/2024 |
2.1.320 | 9,147 | 7/20/2024 |
2.1.319 | 11,812 | 7/14/2024 |
2.1.318 | 4,453 | 7/14/2024 |
2.1.317 | 6,790 | 7/10/2024 |
2.1.316 | 2,948 | 7/10/2024 |
2.1.315 | 2,739 | 7/10/2024 |
2.1.314 | 1,590 | 7/10/2024 |
2.1.313 | 1,008 | 7/10/2024 |
2.1.312 | 320 | 7/10/2024 |
2.1.311 | 2,605 | 7/10/2024 |
2.1.310 | 1,341 | 7/9/2024 |
2.1.308 | 2,760 | 7/9/2024 |
2.1.307 | 93 | 7/9/2024 |
2.1.306 | 2,931 | 7/9/2024 |
2.1.305 | 6,790 | 7/9/2024 |
2.1.304 | 5,684 | 7/9/2024 |
2.1.303 | 2,735 | 7/9/2024 |
2.1.302 | 93 | 7/9/2024 |
2.1.301 | 4,836 | 7/9/2024 |
2.1.300 | 6,118 | 7/8/2024 |
2.1.299 | 363 | 7/8/2024 |
2.1.298 | 96 | 7/8/2024 |
2.1.297 | 104 | 7/8/2024 |
2.1.296 | 8,389 | 7/8/2024 |
2.1.295 | 1,636 | 7/7/2024 |
2.1.294 | 5,079 | 7/7/2024 |
2.1.293 | 119 | 7/7/2024 |
2.1.292 | 1,445 | 7/7/2024 |
2.1.291 | 3,101 | 7/7/2024 |
2.1.290 | 10,257 | 7/3/2024 |
2.1.289 | 3,280 | 7/3/2024 |
2.1.288 | 2,940 | 7/3/2024 |
2.1.287 | 846 | 7/3/2024 |
2.1.286 | 5,650 | 7/2/2024 |
2.1.283 | 3,528 | 6/30/2024 |
2.1.282 | 2,369 | 6/28/2024 |
2.1.281 | 239 | 6/28/2024 |
2.1.279 | 7,643 | 6/22/2024 |
2.1.278 | 8,712 | 6/15/2024 |
2.1.277 | 1,164 | 6/15/2024 |
2.1.276 | 6,755 | 6/14/2024 |
2.1.275 | 10,738 | 6/1/2024 |
2.1.274 | 1,731 | 6/1/2024 |
2.1.273 | 1,096 | 6/1/2024 |
2.1.272 | 9,402 | 5/31/2024 |
2.1.271 | 5,867 | 5/29/2024 |
2.1.270 | 6,698 | 5/28/2024 |
2.1.269 | 3,772 | 5/27/2024 |
2.1.268 | 6,967 | 5/26/2024 |
2.1.267 | 6,881 | 5/26/2024 |
2.1.266 | 313 | 5/26/2024 |
2.1.265 | 2,524 | 5/25/2024 |
2.1.264 | 1,822 | 5/25/2024 |
2.1.263 | 1,665 | 5/25/2024 |
2.1.262 | 110 | 5/25/2024 |
2.1.261 | 1,346 | 5/25/2024 |
2.1.260 | 108 | 5/25/2024 |
2.1.259 | 4,890 | 5/25/2024 |
2.1.258 | 104 | 5/25/2024 |
2.1.257 | 8,700 | 5/23/2024 |
2.1.256 | 3,441 | 5/23/2024 |
2.1.255 | 2,467 | 5/22/2024 |
2.1.254 | 1,862 | 5/22/2024 |
2.1.253 | 756 | 5/22/2024 |
2.1.252 | 102 | 5/22/2024 |
2.1.251 | 100 | 5/22/2024 |
2.1.250 | 3,610 | 5/22/2024 |
2.1.249 | 9,269 | 5/18/2024 |
2.1.248 | 1,955 | 5/17/2024 |
2.1.247 | 3,334 | 5/17/2024 |
2.1.246 | 5,208 | 5/16/2024 |
2.1.245 | 1,344 | 5/15/2024 |
2.1.244 | 3,784 | 5/15/2024 |
2.1.243 | 7,756 | 5/12/2024 |
2.1.242 | 4,227 | 5/3/2024 |
2.1.241 | 4,733 | 4/29/2024 |
2.1.240 | 2,704 | 4/29/2024 |
2.1.239 | 5,219 | 4/28/2024 |
2.1.238 | 844 | 4/28/2024 |
2.1.237 | 968 | 4/28/2024 |
2.1.236 | 3,932 | 4/28/2024 |
2.1.235 | 552 | 4/28/2024 |
2.1.234 | 5,245 | 4/28/2024 |
2.1.233 | 1,106 | 4/28/2024 |
2.1.232 | 4,895 | 4/27/2024 |
2.1.231 | 110 | 4/27/2024 |
2.1.230 | 9,846 | 4/19/2024 |
2.1.229 | 6,108 | 4/18/2024 |
2.1.228 | 6,391 | 4/12/2024 |
2.1.227 | 1,021 | 4/12/2024 |
2.1.226 | 1,633 | 4/12/2024 |
2.1.225 | 1,374 | 4/12/2024 |
2.1.224 | 954 | 4/12/2024 |
2.1.223 | 1,376 | 4/12/2024 |
2.1.222 | 521 | 4/12/2024 |
2.1.221 | 114 | 4/12/2024 |
2.1.220 | 3,581 | 4/10/2024 |
2.1.219 | 14,509 | 4/10/2024 |
2.1.218 | 674 | 4/10/2024 |
2.1.217 | 7,593 | 4/2/2024 |
2.1.216 | 1,329 | 4/1/2024 |
2.1.215 | 7,331 | 3/29/2024 |
2.1.214 | 5,329 | 3/25/2024 |
2.1.213 | 609 | 3/25/2024 |
2.1.212 | 7,421 | 3/20/2024 |
2.1.211 | 5,111 | 3/19/2024 |
2.1.210 | 3,054 | 3/19/2024 |
2.1.209 | 3,367 | 3/18/2024 |
2.1.208 | 7,362 | 3/15/2024 |
2.1.207 | 5,007 | 3/13/2024 |
2.1.206 | 1,913 | 3/13/2024 |
2.1.205 | 2,490 | 3/13/2024 |
2.1.204 | 161 | 3/13/2024 |
2.1.203 | 153 | 3/13/2024 |
2.1.202 | 1,651 | 3/13/2024 |
2.1.201 | 157 | 3/13/2024 |
2.1.200 | 3,608 | 3/12/2024 |
2.1.199 | 4,627 | 3/12/2024 |
2.1.198 | 6,045 | 3/11/2024 |
2.1.197 | 4,197 | 3/11/2024 |
2.1.196 | 4,503 | 3/10/2024 |
2.1.195 | 5,811 | 3/8/2024 |
2.1.194 | 531 | 3/8/2024 |
2.1.193 | 4,190 | 3/8/2024 |
2.1.192 | 5,388 | 3/6/2024 |
2.1.191 | 5,381 | 3/4/2024 |
2.1.190 | 3,050 | 3/4/2024 |
2.1.189 | 6,104 | 3/2/2024 |
2.1.188 | 1,562 | 3/2/2024 |
2.1.187 | 1,951 | 3/2/2024 |
2.1.186 | 1,090 | 3/2/2024 |
2.1.185 | 761 | 3/2/2024 |
2.1.184 | 4,097 | 2/29/2024 |
2.1.183 | 1,340 | 2/29/2024 |
2.1.182 | 2,061 | 2/29/2024 |
2.1.181 | 3,961 | 2/26/2024 |
2.1.180 | 15,297 | 2/25/2024 |
2.1.179 | 1,821 | 2/25/2024 |
2.1.178 | 6,022 | 2/23/2024 |
2.1.177 | 5,841 | 2/22/2024 |
2.1.176 | 1,629 | 2/22/2024 |
2.1.175 | 1,965 | 2/21/2024 |
2.1.174 | 3,177 | 2/21/2024 |
2.1.173 | 2,855 | 2/21/2024 |
2.1.172 | 3,593 | 2/21/2024 |
2.1.171 | 1,551 | 2/21/2024 |
2.1.170 | 352 | 2/21/2024 |
2.1.169 | 3,309 | 2/21/2024 |
2.1.168 | 1,024 | 2/20/2024 |
2.1.167 | 201 | 2/20/2024 |
2.1.166 | 207 | 2/20/2024 |
2.1.165 | 4,405 | 2/20/2024 |
2.1.164 | 3,323 | 2/20/2024 |
2.1.163 | 3,191 | 2/20/2024 |
2.1.162 | 6,698 | 2/19/2024 |
2.1.161 | 5,341 | 2/17/2024 |
2.1.160 | 2,223 | 2/17/2024 |
2.1.159 | 1,602 | 2/16/2024 |
2.1.158 | 1,163 | 2/16/2024 |
2.1.157 | 1,960 | 2/16/2024 |
2.1.156 | 3,008 | 2/16/2024 |
2.1.155 | 3,472 | 2/16/2024 |
2.1.154 | 245 | 2/16/2024 |
2.1.153 | 1,712 | 2/16/2024 |
2.1.152 | 245 | 2/16/2024 |
2.1.151 | 242 | 2/16/2024 |
2.1.150 | 5,942 | 2/14/2024 |
2.1.149 | 2,520 | 2/13/2024 |
2.1.148 | 3,027 | 2/13/2024 |
2.1.147 | 3,650 | 2/13/2024 |
2.1.146 | 3,503 | 2/13/2024 |
2.1.145 | 4,856 | 2/12/2024 |
2.1.144 | 764 | 2/11/2024 |
2.1.143 | 5,283 | 2/11/2024 |
2.1.142 | 2,985 | 2/11/2024 |
2.1.141 | 6,168 | 2/10/2024 |
2.1.140 | 775 | 2/9/2024 |
2.1.139 | 5,625 | 2/9/2024 |
2.1.138 | 3,631 | 2/9/2024 |
2.1.137 | 959 | 2/8/2024 |
2.1.136 | 4,546 | 2/8/2024 |
2.1.135 | 1,875 | 2/8/2024 |
2.1.134 | 10,469 | 2/8/2024 |
2.1.133 | 312 | 2/8/2024 |
2.1.132 | 243 | 2/8/2024 |
2.1.131 | 5,151 | 2/7/2024 |
2.1.130 | 2,055 | 2/7/2024 |
2.1.129 | 3,520 | 2/7/2024 |
2.1.128 | 1,145 | 2/7/2024 |
2.1.127 | 1,008 | 2/6/2024 |
2.1.126 | 2,810 | 2/6/2024 |
2.1.125 | 279 | 2/6/2024 |
2.1.124 | 7,423 | 2/5/2024 |
2.1.123 | 4,849 | 2/4/2024 |
2.1.122 | 5,156 | 2/2/2024 |
2.1.121 | 6,131 | 1/31/2024 |
2.1.120 | 6,029 | 1/29/2024 |
2.1.119 | 3,643 | 1/29/2024 |
2.1.118 | 2,447 | 1/29/2024 |
2.1.117 | 3,902 | 1/28/2024 |
2.1.116 | 5,168 | 1/28/2024 |
2.1.115 | 2,939 | 1/28/2024 |
2.1.114 | 1,716 | 1/28/2024 |
2.1.113 | 2,346 | 1/27/2024 |
2.1.112 | 2,064 | 1/27/2024 |
2.1.111 | 5,381 | 1/27/2024 |
2.1.110 | 2,714 | 1/27/2024 |
2.1.109 | 6,453 | 1/27/2024 |
2.1.108 | 1,675 | 1/26/2024 |
2.1.107 | 2,118 | 1/26/2024 |
2.1.106 | 2,743 | 1/26/2024 |
2.1.105 | 4,972 | 1/26/2024 |
2.1.104 | 2,371 | 1/26/2024 |
2.1.103 | 1,314 | 1/26/2024 |
2.1.102 | 4,435 | 1/25/2024 |
2.1.101 | 3,523 | 1/25/2024 |
2.1.100 | 1,710 | 1/25/2024 |
2.1.99 | 5,694 | 1/25/2024 |
2.1.98 | 5,480 | 1/19/2024 |
2.1.97 | 5,684 | 1/15/2024 |
2.1.96 | 2,605 | 1/15/2024 |
2.1.95 | 2,043 | 1/15/2024 |
2.1.94 | 5,171 | 1/15/2024 |
2.1.93 | 5,313 | 1/15/2024 |
2.1.92 | 5,148 | 1/14/2024 |
2.1.91 | 6,301 | 1/13/2024 |
2.1.90 | 5,276 | 1/12/2024 |
2.1.89 | 5,166 | 1/11/2024 |
2.1.88 | 7,173 | 1/7/2024 |
2.1.87 | 5,707 | 1/5/2024 |
2.1.86 | 2,560 | 1/5/2024 |
2.1.85 | 3,254 | 1/5/2024 |
2.1.84 | 6,136 | 1/3/2024 |
2.1.83 | 3,738 | 1/1/2024 |
2.1.82 | 5,093 | 12/28/2023 |
2.1.81 | 2,067 | 12/28/2023 |
2.1.80 | 2,067 | 12/28/2023 |
2.1.79 | 4,568 | 12/27/2023 |
2.1.78 | 2,150 | 12/27/2023 |
2.1.77 | 297 | 12/27/2023 |
2.1.76 | 8,766 | 12/25/2023 |
2.1.75 | 4,811 | 12/25/2023 |
2.1.74 | 2,441 | 12/25/2023 |
2.1.73 | 697 | 12/25/2023 |
2.1.72 | 321 | 12/25/2023 |
2.1.71 | 6,913 | 12/24/2023 |
2.1.70 | 5,393 | 12/23/2023 |
2.1.69 | 2,886 | 12/23/2023 |
2.1.68 | 1,718 | 12/23/2023 |
2.1.67 | 3,888 | 12/23/2023 |
2.1.66 | 293 | 12/23/2023 |
2.1.65 | 8,165 | 12/19/2023 |
2.1.64 | 2,250 | 12/19/2023 |
2.1.63 | 5,528 | 12/12/2023 |
2.1.62 | 466 | 12/12/2023 |
2.1.61 | 2,732 | 12/11/2023 |
2.1.60 | 2,222 | 12/11/2023 |
2.1.59 | 1,231 | 12/11/2023 |
2.1.58 | 1,669 | 12/11/2023 |
2.1.57 | 824 | 12/10/2023 |
2.1.56 | 800 | 12/10/2023 |
2.1.55 | 1,829 | 12/10/2023 |
2.1.54 | 1,134 | 12/10/2023 |
2.1.53 | 8,206 | 12/10/2023 |
2.1.52 | 1,866 | 12/9/2023 |
2.1.51 | 1,054 | 12/9/2023 |
2.1.50 | 1,619 | 12/9/2023 |
2.1.49 | 2,494 | 12/9/2023 |
2.1.48 | 266 | 12/9/2023 |
2.1.47 | 1,274 | 12/9/2023 |
2.1.46 | 340 | 12/9/2023 |
2.1.45 | 2,876 | 12/9/2023 |
2.1.44 | 302 | 12/9/2023 |
2.1.43 | 4,529 | 12/9/2023 |
2.1.42 | 6,779 | 12/6/2023 |
2.1.41 | 1,247 | 12/6/2023 |
2.1.40 | 1,780 | 12/6/2023 |
2.1.39 | 3,995 | 12/5/2023 |
2.1.38 | 2,020 | 12/5/2023 |
2.1.37 | 1,137 | 12/5/2023 |
2.1.36 | 2,873 | 12/5/2023 |
2.1.35 | 295 | 12/5/2023 |
2.1.34 | 2,439 | 12/5/2023 |
2.1.33 | 303 | 12/5/2023 |
2.1.32 | 1,611 | 12/4/2023 |
2.1.31 | 1,541 | 12/4/2023 |
2.1.30 | 328 | 12/4/2023 |
2.1.29 | 8,837 | 12/4/2023 |
2.1.28 | 2,912 | 11/27/2023 |
2.1.27 | 1,366 | 11/26/2023 |
2.1.26 | 3,427 | 11/23/2023 |
2.1.25 | 2,953 | 11/23/2023 |
2.1.24 | 3,602 | 11/23/2023 |
2.1.23 | 304 | 11/23/2023 |
2.1.22 | 7,026 | 11/20/2023 |
2.1.21 | 3,405 | 11/20/2023 |
2.1.20 | 5,492 | 11/19/2023 |
2.1.19 | 3,016 | 11/19/2023 |
2.1.18 | 4,159 | 11/19/2023 |
2.1.17 | 1,124 | 11/18/2023 |
2.1.16 | 5,404 | 11/18/2023 |
2.1.15 | 1,316 | 11/18/2023 |
2.1.14 | 3,436 | 11/18/2023 |
2.1.13 | 759 | 11/18/2023 |
2.1.12 | 3,565 | 11/17/2023 |
2.1.11 | 2,941 | 11/17/2023 |
2.1.10 | 2,189 | 11/17/2023 |
2.1.9 | 408 | 11/17/2023 |
2.1.8 | 3,479 | 11/17/2023 |
2.1.7 | 2,011 | 11/17/2023 |
2.1.6 | 2,534 | 11/17/2023 |
2.1.5 | 1,732 | 11/17/2023 |
2.1.4 | 592 | 11/17/2023 |
2.1.3 | 3,290 | 11/16/2023 |
2.0.78 | 1,131 | 11/15/2023 |
2.0.77 | 322 | 11/15/2023 |
2.0.76 | 2,945 | 11/15/2023 |
2.0.2 | 326 | 11/16/2023 |
2.0.1 | 288 | 11/16/2023 |
1.0.75 | 4,233 | 11/13/2023 |
1.0.74 | 6,095 | 11/10/2023 |
1.0.73 | 4,807 | 11/9/2023 |
1.0.72 | 3,260 | 11/8/2023 |
1.0.71 | 5,007 | 11/7/2023 |
1.0.70 | 2,489 | 11/6/2023 |
1.0.69 | 3,115 | 11/3/2023 |
1.0.68 | 5,620 | 11/2/2023 |
1.0.67 | 3,431 | 11/1/2023 |
1.0.66 | 10,937 | 10/26/2023 |
1.0.65 | 6,703 | 10/19/2023 |
1.0.64 | 2,906 | 10/18/2023 |
1.0.63 | 2,813 | 10/17/2023 |
1.0.62 | 3,410 | 10/16/2023 |
1.0.61 | 6,206 | 10/13/2023 |
1.0.60 | 3,639 | 10/12/2023 |
1.0.59 | 11,429 | 9/18/2023 |
1.0.58 | 307 | 9/18/2023 |
1.0.57 | 7,693 | 9/14/2023 |
1.0.56 | 7,171 | 8/31/2023 |
1.0.55 | 3,648 | 8/30/2023 |
1.0.54 | 3,124 | 8/29/2023 |
1.0.53 | 3,034 | 8/28/2023 |
1.0.52 | 5,803 | 8/25/2023 |
1.0.51 | 3,257 | 8/24/2023 |
1.0.50 | 7,916 | 8/21/2023 |
1.0.49 | 3,216 | 8/18/2023 |
1.0.48 | 2,988 | 8/17/2023 |
1.0.47 | 5,500 | 8/16/2023 |
1.0.46 | 9,063 | 8/10/2023 |
1.0.45 | 3,162 | 8/9/2023 |
1.0.44 | 5,285 | 8/8/2023 |
1.0.43 | 4,464 | 8/7/2023 |
1.0.42 | 4,661 | 8/4/2023 |
1.0.41 | 8,579 | 7/13/2023 |
1.0.40 | 5,715 | 7/11/2023 |
1.0.39 | 3,473 | 7/10/2023 |
1.0.38 | 4,357 | 7/7/2023 |
1.0.37 | 364 | 7/7/2023 |
1.0.36 | 12,019 | 6/30/2023 |
1.0.35 | 6,183 | 6/28/2023 |
1.0.34 | 6,323 | 6/27/2023 |
1.0.33 | 7,330 | 6/26/2023 |
1.0.32 | 4,361 | 6/23/2023 |
1.0.31 | 8,872 | 6/21/2023 |
1.0.30 | 9,249 | 6/15/2023 |
1.0.29 | 3,654 | 6/14/2023 |
1.0.28 | 9,853 | 6/9/2023 |
1.0.27 | 4,288 | 6/8/2023 |
1.0.26 | 5,240 | 6/7/2023 |
1.0.25 | 5,898 | 6/6/2023 |
1.0.24 | 389 | 6/6/2023 |
1.0.23 | 4,934 | 6/5/2023 |
1.0.22 | 17,035 | 5/30/2023 |
1.0.21 | 19,876 | 5/29/2023 |
1.0.20 | 6,870 | 5/26/2023 |
1.0.19 | 8,002 | 5/25/2023 |
1.0.18 | 8,360 | 5/24/2023 |
1.0.17 | 5,666 | 5/24/2023 |
1.0.16 | 1,695 | 5/23/2023 |
1.0.15 | 1,684 | 5/23/2023 |
1.0.12 | 3,107 | 5/22/2023 |
1.0.11 | 19,303 | 5/16/2023 |
1.0.10 | 15,886 | 4/20/2023 |
1.0.9 | 15,195 | 4/3/2023 |
1.0.8 | 1,275 | 4/3/2023 |
1.0.7 | 2,519 | 3/23/2023 |
1.0.5 | 774 | 3/13/2023 |
1.0.4 | 536 | 3/11/2023 |
1.0.3 | 440 | 3/11/2023 |
1.0.2 | 443 | 3/11/2023 |
1.0.1 | 496 | 3/11/2023 |