Soenneker.Utils.AsyncSingleton 3.0.602

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Soenneker.Utils.AsyncSingleton --version 3.0.602
                    
NuGet\Install-Package Soenneker.Utils.AsyncSingleton -Version 3.0.602
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Soenneker.Utils.AsyncSingleton" Version="3.0.602" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Utils.AsyncSingleton" Version="3.0.602" />
                    
Directory.Packages.props
<PackageReference Include="Soenneker.Utils.AsyncSingleton" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Soenneker.Utils.AsyncSingleton --version 3.0.602
                    
#r "nuget: Soenneker.Utils.AsyncSingleton, 3.0.602"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Soenneker.Utils.AsyncSingleton@3.0.602
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.602
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.602
                    
Install as a Cake Tool

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

alternate text is missing from this package README image 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() or InitSync().
  • 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 the Init(), and Get() method. This will cancel any locking occurring during initialization.
  • If you use a type of AsyncSingleton that implements IDisposable or IAsyncDisposable, be sure to dispose of the AsyncSingleton 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 the AsyncSingleton 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 leverage AsyncSingleton.DisposeAsync(). Using AsyncSingleton.DisposeAsync() with an IDisposable underlying instance is fine.
Product 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.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (40)

Showing the top 5 NuGet packages that depend on Soenneker.Utils.AsyncSingleton:

Package Downloads
Soenneker.Utils.MemoryStream

An easy modern MemoryStream utility

GoogleAds.API

An async thread-safe singleton for the Google Ads client

Soenneker.Utils.Runtime

A collection of helpful runtime-based operations

Soenneker.Blob.Container

A utility library for Azure Blob storage container operations

Soenneker.Redis.Client

A utility library for Redis client accessibility

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.712 24,252 7/1/2025
3.0.711 7,921 6/27/2025
3.0.710 1,018 6/27/2025
3.0.709 41,880 5/27/2025
3.0.708 701 5/27/2025
3.0.707 15,907 5/22/2025
3.0.705 24,687 5/7/2025
3.0.704 410 5/7/2025
3.0.703 15,037 5/5/2025
3.0.702 441 5/5/2025
3.0.701 152 5/5/2025
3.0.700 19,225 4/8/2025
3.0.699 4,592 4/8/2025
3.0.698 2,280 4/8/2025
3.0.697 3,129 4/8/2025
3.0.696 8,119 4/7/2025
3.0.695 2,960 4/7/2025
3.0.694 7,713 4/7/2025
3.0.693 7,012 4/7/2025
3.0.692 2,042 4/7/2025
3.0.691 2,073 4/6/2025
3.0.690 1,209 4/6/2025
3.0.689 249 4/6/2025
3.0.688 176 4/6/2025
3.0.687 2,936 4/6/2025
3.0.686 1,786 4/6/2025
3.0.685 126 4/6/2025
3.0.684 7,496 4/5/2025
3.0.683 1,262 4/5/2025
3.0.682 405 4/5/2025
3.0.681 127 4/5/2025
3.0.680 651 4/4/2025
3.0.679 242 4/4/2025
3.0.678 38,458 4/1/2025
3.0.677 9,882 3/31/2025
3.0.676 7,390 3/29/2025
3.0.675 9,792 3/25/2025
3.0.674 7,512 3/21/2025
3.0.673 13,682 3/15/2025
3.0.672 7,725 3/12/2025
3.0.671 741 3/12/2025
3.0.670 3,919 3/11/2025
3.0.669 232 3/11/2025
3.0.668 5,364 3/11/2025
3.0.667 4,930 3/11/2025
3.0.666 16,171 3/2/2025
3.0.665 1,736 3/2/2025
3.0.664 1,854 3/1/2025
3.0.663 2,997 3/1/2025
3.0.662 2,671 3/1/2025
3.0.661 1,970 3/1/2025
3.0.660 107 3/1/2025
3.0.659 2,923 3/1/2025
3.0.658 11,631 2/25/2025
3.0.657 2,579 2/25/2025
3.0.656 2,314 2/25/2025
3.0.655 2,920 2/24/2025
3.0.654 6,820 2/22/2025
3.0.653 10,953 2/22/2025
3.0.652 317 2/22/2025
3.0.651 3,023 2/21/2025
3.0.650 6,682 2/21/2025
3.0.649 8,898 2/19/2025
3.0.648 492 2/18/2025
3.0.647 1,744 2/18/2025
3.0.646 1,969 2/18/2025
3.0.645 5,046 2/18/2025
3.0.644 9,065 2/13/2025
3.0.643 10,019 2/12/2025
3.0.642 1,034 2/12/2025
3.0.641 1,719 2/12/2025
3.0.640 1,928 2/11/2025
3.0.639 1,919 2/11/2025
3.0.638 2,383 2/11/2025
3.0.637 3,573 2/11/2025
3.0.636 4,585 2/11/2025
3.0.635 5,821 2/10/2025
3.0.634 127 2/10/2025
3.0.633 7,761 2/9/2025
3.0.632 5,666 2/8/2025
3.0.631 1,110 2/8/2025
3.0.630 2,277 2/7/2025
3.0.629 2,862 2/7/2025
3.0.628 3,077 2/7/2025
3.0.627 285 2/7/2025
3.0.626 2,768 2/7/2025
3.0.625 117 2/7/2025
3.0.624 656 2/7/2025
3.0.623 15,230 2/5/2025
3.0.622 1,238 2/5/2025
3.0.621 2,220 2/5/2025
3.0.620 1,741 2/5/2025
3.0.619 17,788 1/28/2025
3.0.618 4,466 1/28/2025
3.0.617 281 1/27/2025
3.0.616 16,518 1/26/2025
3.0.615 1,582 1/26/2025
3.0.614 3,813 1/25/2025
3.0.613 5,069 1/25/2025
3.0.612 3,195 1/25/2025
3.0.611 1,724 1/24/2025
3.0.610 12,748 1/24/2025
3.0.609 4,115 1/24/2025
3.0.608 4,005 1/24/2025
3.0.607 3,329 1/23/2025
3.0.606 3,103 1/23/2025
3.0.605 9,650 1/21/2025
3.0.604 2,041 1/21/2025
3.0.603 4,948 1/21/2025
3.0.602 3,272 1/21/2025
3.0.601 4,649 1/21/2025
3.0.600 4,631 1/20/2025
3.0.599 363 1/20/2025
3.0.598 639 1/20/2025
3.0.597 4,702 1/20/2025
3.0.596 5,840 1/20/2025
3.0.595 697 1/20/2025
3.0.594 131 1/20/2025
3.0.593 659 1/20/2025
3.0.592 101 1/20/2025
3.0.591 14,298 1/19/2025
3.0.590 2,334 1/19/2025
3.0.589 2,342 1/18/2025
3.0.588 3,781 1/18/2025
3.0.587 1,476 1/18/2025
3.0.586 6,063 1/17/2025
3.0.585 1,151 1/17/2025
3.0.584 3,029 1/17/2025
3.0.583 2,775 1/16/2025
3.0.582 16,104 1/16/2025
3.0.581 1,461 1/16/2025
3.0.580 2,958 1/16/2025
3.0.579 3,669 1/15/2025
3.0.578 2,231 1/15/2025
3.0.577 3,900 1/15/2025
3.0.576 6,626 1/15/2025
3.0.575 1,090 1/15/2025
3.0.574 3,170 1/15/2025
3.0.573 283 1/15/2025
3.0.572 2,822 1/14/2025
3.0.571 1,326 1/14/2025
3.0.570 3,180 1/14/2025
3.0.569 12,884 1/13/2025
3.0.568 4,585 1/12/2025
3.0.567 6,892 1/11/2025
3.0.566 1,953 1/11/2025
3.0.565 917 1/11/2025
3.0.564 814 1/10/2025
3.0.563 4,161 1/10/2025
3.0.562 409 1/10/2025
3.0.561 827 1/10/2025
3.0.560 107 1/10/2025
3.0.559 107 1/10/2025
3.0.558 8,571 1/8/2025
3.0.557 260 1/8/2025
3.0.556 3,758 1/3/2025
3.0.555 2,949 1/3/2025
3.0.554 3,950 1/2/2025
3.0.553 684 1/2/2025
3.0.552 143 1/2/2025
3.0.551 2,244 1/2/2025
3.0.550 5,012 1/1/2025
3.0.549 719 1/1/2025
3.0.548 1,139 1/1/2025
3.0.547 1,317 1/1/2025
3.0.546 122 1/1/2025
3.0.545 613 12/31/2024
3.0.544 119 12/31/2024
3.0.543 238 12/31/2024
3.0.542 7,033 12/31/2024
3.0.541 7,334 12/31/2024
3.0.540 2,973 12/31/2024
3.0.539 3,779 12/31/2024
3.0.538 2,729 12/31/2024
3.0.537 1,137 12/31/2024
3.0.536 121 12/31/2024
3.0.535 4,661 12/31/2024
3.0.534 14,243 12/27/2024
3.0.533 2,655 12/27/2024
3.0.532 9,748 12/24/2024
3.0.531 645 12/24/2024
3.0.530 1,453 12/24/2024
3.0.529 272 12/24/2024
3.0.528 321 12/24/2024
3.0.527 1,719 12/23/2024
3.0.526 3,474 12/23/2024
3.0.525 1,680 12/23/2024
3.0.524 1,556 12/23/2024
3.0.523 2,163 12/23/2024
3.0.522 1,151 12/23/2024
3.0.521 2,776 12/22/2024
3.0.520 128 12/22/2024
3.0.519 11,884 12/22/2024
3.0.518 134 12/22/2024
3.0.517 8,741 12/22/2024
3.0.516 113 12/22/2024
3.0.515 4,198 12/22/2024
3.0.514 131 12/22/2024
3.0.513 828 12/21/2024
3.0.512 288 12/21/2024
3.0.511 109 12/21/2024
3.0.510 7,432 12/21/2024
3.0.509 837 12/21/2024
3.0.508 105 12/21/2024
3.0.507 1,303 12/21/2024
3.0.506 119 12/21/2024
3.0.505 4,509 12/21/2024
3.0.504 1,451 12/21/2024
3.0.503 3,491 12/21/2024
3.0.502 116 12/21/2024
3.0.501 2,164 12/20/2024
3.0.500 2,249 12/20/2024
3.0.499 4,207 12/20/2024
3.0.498 1,313 12/20/2024
3.0.497 616 12/20/2024
3.0.496 6,530 12/19/2024
3.0.495 573 12/19/2024
3.0.494 992 12/18/2024
3.0.493 538 12/18/2024
3.0.492 10,715 12/17/2024
3.0.491 391 12/17/2024
3.0.490 815 12/17/2024
3.0.489 1,037 12/17/2024
3.0.488 1,103 12/16/2024
3.0.487 344 12/16/2024
3.0.486 106 12/16/2024
3.0.485 9,387 12/9/2024
3.0.484 2,181 12/9/2024
3.0.483 4,811 12/9/2024
3.0.482 933 12/9/2024
3.0.480 9,650 12/6/2024
3.0.479 5,185 12/6/2024
3.0.478 1,680 12/6/2024
3.0.477 958 12/6/2024
3.0.476 634 12/6/2024
3.0.475 2,055 12/6/2024
3.0.474 6,326 12/6/2024
3.0.473 8,405 12/5/2024
3.0.472 983 12/5/2024
3.0.471 4,935 12/5/2024
3.0.470 2,211 12/5/2024
3.0.469 636 12/5/2024
3.0.468 4,446 12/4/2024
3.0.467 2,392 12/4/2024
3.0.466 2,602 12/4/2024
3.0.465 6,855 12/3/2024
3.0.464 305 12/3/2024
3.0.463 1,581 12/3/2024
3.0.462 5,906 12/3/2024
3.0.461 1,129 12/3/2024
3.0.460 3,419 12/3/2024
3.0.459 110 12/3/2024
3.0.458 748 12/3/2024
3.0.457 7,841 12/2/2024
3.0.456 3,496 12/2/2024
3.0.455 1,036 12/2/2024
3.0.454 908 12/1/2024
3.0.453 4,638 12/1/2024
3.0.452 5,030 12/1/2024
3.0.451 5,156 11/29/2024
3.0.450 8,698 11/20/2024
3.0.449 5,528 11/20/2024
3.0.448 413 11/20/2024
3.0.447 1,918 11/20/2024
3.0.445 2,420 11/19/2024
3.0.444 2,121 11/19/2024
3.0.443 5,727 11/19/2024
3.0.442 4,082 11/19/2024
3.0.441 106 11/19/2024
3.0.439 11,124 11/14/2024
3.0.438 4,340 11/14/2024
3.0.437 1,873 11/14/2024
3.0.436 3,403 11/14/2024
3.0.435 348 11/14/2024
3.0.434 128 11/14/2024
3.0.433 1,189 11/14/2024
3.0.432 115 11/14/2024
2.1.431 16,294 11/13/2024
2.1.430 3,212 11/13/2024
2.1.429 2,490 11/12/2024
2.1.428 11,647 11/9/2024
2.1.427 2,399 11/9/2024
2.1.426 2,605 11/8/2024
2.1.425 1,190 11/8/2024
2.1.424 1,347 11/8/2024
2.1.423 1,577 11/8/2024
2.1.422 1,789 11/8/2024
2.1.421 4,745 11/8/2024
2.1.420 18,139 11/1/2024
2.1.419 8,332 10/29/2024
2.1.418 3,260 10/29/2024
2.1.417 4,434 10/29/2024
2.1.416 8,239 10/28/2024
2.1.415 8,359 10/26/2024
2.1.414 10,503 10/22/2024
2.1.413 2,990 10/22/2024
2.1.412 1,704 10/22/2024
2.1.411 9,086 10/17/2024
2.1.410 8,097 10/15/2024
2.1.409 1,525 10/14/2024
2.1.408 8,410 10/11/2024
2.1.407 2,335 10/11/2024
2.1.406 1,521 10/11/2024
2.1.404 12,453 10/8/2024
2.1.403 5,118 10/8/2024
2.1.402 15,389 10/3/2024
2.1.401 1,137 10/3/2024
2.1.400 2,640 10/3/2024
2.1.399 9,937 10/2/2024
2.1.398 3,287 10/2/2024
2.1.397 10,285 10/1/2024
2.1.396 947 10/1/2024
2.1.395 5,129 9/30/2024
2.1.394 8,033 9/29/2024
2.1.393 2,592 9/29/2024
2.1.392 2,484 9/29/2024
2.1.391 7,165 9/27/2024
2.1.390 4,773 9/27/2024
2.1.389 181 9/27/2024
2.1.388 764 9/27/2024
2.1.387 1,799 9/27/2024
2.1.386 126 9/27/2024
2.1.385 10,572 9/26/2024
2.1.384 9,265 9/26/2024
2.1.383 4,055 9/26/2024
2.1.382 11,719 9/23/2024
2.1.381 2,913 9/23/2024
2.1.380 5,027 9/23/2024
2.1.379 5,012 9/23/2024
2.1.378 3,799 9/23/2024
2.1.377 784 9/23/2024
2.1.376 1,914 9/23/2024
2.1.375 115 9/23/2024
2.1.374 13,933 9/17/2024
2.1.373 692 9/17/2024
2.1.372 2,768 9/17/2024
2.1.371 2,774 9/17/2024
2.1.370 3,171 9/17/2024
2.1.369 4,277 9/17/2024
2.1.368 4,806 9/17/2024
2.1.367 15,795 9/16/2024
2.1.366 8,154 9/12/2024
2.1.365 3,078 9/11/2024
2.1.363 8,957 9/11/2024
2.1.362 17,283 9/10/2024
2.1.361 749 9/10/2024
2.1.360 1,063 9/10/2024
2.1.359 945 9/10/2024
2.1.358 3,703 9/9/2024
2.1.357 1,543 9/9/2024
2.1.356 6,327 9/9/2024
2.1.355 1,773 9/9/2024
2.1.354 7,066 9/9/2024
2.1.353 13,571 9/7/2024
2.1.352 9,985 9/6/2024
2.1.351 5,197 9/5/2024
2.1.350 5,217 9/5/2024
2.1.349 571 9/5/2024
2.1.348 163 9/5/2024
2.1.347 9,098 9/5/2024
2.1.346 1,061 9/4/2024
2.1.345 13,706 9/3/2024
2.1.344 6,204 9/3/2024
2.1.343 4,573 9/3/2024
2.1.342 8,772 8/29/2024
2.1.341 7,312 8/26/2024
2.1.340 7,762 8/21/2024
2.1.339 2,855 8/21/2024
2.1.338 1,677 8/20/2024
2.1.337 5,858 8/20/2024
2.1.336 142 8/20/2024
2.1.335 139 8/20/2024
2.1.334 9,861 8/19/2024
2.1.333 9,599 8/15/2024
2.1.332 9,566 8/13/2024
2.1.331 8,036 8/6/2024
2.1.330 4,423 8/6/2024
2.1.329 6,638 8/1/2024
2.1.328 1,385 8/1/2024
2.1.327 659 8/1/2024
2.1.326 9,539 7/25/2024
2.1.325 2,004 7/25/2024
2.1.324 1,739 7/25/2024
2.1.323 294 7/24/2024
2.1.322 750 7/24/2024
2.1.321 368 7/24/2024
2.1.320 9,792 7/20/2024
2.1.319 12,316 7/14/2024
2.1.318 4,526 7/14/2024
2.1.317 6,879 7/10/2024
2.1.316 2,980 7/10/2024
2.1.315 2,790 7/10/2024
2.1.314 1,628 7/10/2024
2.1.313 1,051 7/10/2024
2.1.312 354 7/10/2024
2.1.311 2,648 7/10/2024
2.1.310 1,366 7/9/2024
2.1.308 2,789 7/9/2024
2.1.307 123 7/9/2024
2.1.306 2,983 7/9/2024
2.1.305 6,854 7/9/2024
2.1.304 5,744 7/9/2024
2.1.303 2,781 7/9/2024
2.1.302 126 7/9/2024
2.1.301 9,602 7/9/2024
2.1.300 6,176 7/8/2024
2.1.299 388 7/8/2024
2.1.298 119 7/8/2024
2.1.297 132 7/8/2024
2.1.296 8,467 7/8/2024
2.1.295 1,667 7/7/2024
2.1.294 5,129 7/7/2024
2.1.293 146 7/7/2024
2.1.292 1,484 7/7/2024
2.1.291 3,135 7/7/2024
2.1.290 10,378 7/3/2024
2.1.289 3,322 7/3/2024
2.1.288 2,980 7/3/2024
2.1.287 890 7/3/2024
2.1.286 5,738 7/2/2024
2.1.283 3,568 6/30/2024
2.1.282 2,417 6/28/2024
2.1.281 264 6/28/2024
2.1.279 7,722 6/22/2024
2.1.278 9,017 6/15/2024
2.1.277 1,186 6/15/2024
2.1.276 6,800 6/14/2024
2.1.275 10,851 6/1/2024
2.1.274 1,767 6/1/2024
2.1.273 1,121 6/1/2024
2.1.272 9,472 5/31/2024
2.1.271 5,930 5/29/2024
2.1.270 6,764 5/28/2024
2.1.269 3,820 5/27/2024
2.1.268 7,053 5/26/2024
2.1.267 6,944 5/26/2024
2.1.266 355 5/26/2024
2.1.265 2,557 5/25/2024
2.1.264 1,863 5/25/2024
2.1.263 1,704 5/25/2024
2.1.262 133 5/25/2024
2.1.261 1,369 5/25/2024
2.1.260 132 5/25/2024
2.1.259 4,946 5/25/2024
2.1.258 129 5/25/2024
2.1.257 8,780 5/23/2024
2.1.256 3,495 5/23/2024
2.1.255 2,527 5/22/2024
2.1.254 1,901 5/22/2024
2.1.253 803 5/22/2024
2.1.252 134 5/22/2024
2.1.251 128 5/22/2024
2.1.250 3,653 5/22/2024
2.1.249 9,342 5/18/2024
2.1.248 1,987 5/17/2024
2.1.247 3,379 5/17/2024
2.1.246 5,244 5/16/2024
2.1.245 1,374 5/15/2024
2.1.244 3,830 5/15/2024
2.1.243 7,839 5/12/2024
2.1.242 4,289 5/3/2024
2.1.241 4,805 4/29/2024
2.1.240 2,745 4/29/2024
2.1.239 5,283 4/28/2024
2.1.238 876 4/28/2024
2.1.237 998 4/28/2024
2.1.236 3,981 4/28/2024
2.1.235 579 4/28/2024
2.1.234 5,340 4/28/2024
2.1.233 1,141 4/28/2024
2.1.232 4,952 4/27/2024
2.1.231 133 4/27/2024
2.1.230 9,920 4/19/2024
2.1.229 6,157 4/18/2024
2.1.228 6,458 4/12/2024
2.1.227 1,063 4/12/2024
2.1.226 1,675 4/12/2024
2.1.225 1,408 4/12/2024
2.1.224 977 4/12/2024
2.1.223 1,406 4/12/2024
2.1.222 550 4/12/2024
2.1.221 141 4/12/2024
2.1.220 3,620 4/10/2024
2.1.219 15,919 4/10/2024
2.1.218 697 4/10/2024
2.1.217 7,675 4/2/2024
2.1.216 1,359 4/1/2024
2.1.215 7,401 3/29/2024
2.1.214 5,401 3/25/2024
2.1.213 636 3/25/2024
2.1.212 7,475 3/20/2024
2.1.211 5,185 3/19/2024
2.1.210 3,105 3/19/2024
2.1.209 3,415 3/18/2024
2.1.208 7,428 3/15/2024
2.1.207 5,057 3/13/2024
2.1.206 1,953 3/13/2024
2.1.205 2,549 3/13/2024
2.1.204 188 3/13/2024
2.1.203 182 3/13/2024
2.1.202 1,689 3/13/2024
2.1.201 183 3/13/2024
2.1.200 3,654 3/12/2024
2.1.199 4,670 3/12/2024
2.1.198 6,104 3/11/2024
2.1.197 4,250 3/11/2024
2.1.196 4,562 3/10/2024
2.1.195 5,892 3/8/2024
2.1.194 552 3/8/2024
2.1.193 4,240 3/8/2024
2.1.192 5,433 3/6/2024
2.1.191 5,436 3/4/2024
2.1.190 3,090 3/4/2024
2.1.189 6,159 3/2/2024
2.1.188 1,608 3/2/2024
2.1.187 1,987 3/2/2024
2.1.186 1,144 3/2/2024
2.1.185 788 3/2/2024
2.1.184 4,204 2/29/2024
2.1.183 1,384 2/29/2024
2.1.182 2,092 2/29/2024
2.1.181 3,995 2/26/2024
2.1.180 15,447 2/25/2024
2.1.179 1,871 2/25/2024
2.1.178 6,112 2/23/2024
2.1.177 5,898 2/22/2024
2.1.176 1,670 2/22/2024
2.1.175 2,004 2/21/2024
2.1.174 3,222 2/21/2024
2.1.173 2,911 2/21/2024
2.1.172 3,649 2/21/2024
2.1.171 1,581 2/21/2024
2.1.170 380 2/21/2024
2.1.169 3,364 2/21/2024
2.1.168 1,055 2/20/2024
2.1.167 235 2/20/2024
2.1.166 239 2/20/2024
2.1.165 4,440 2/20/2024
2.1.164 3,383 2/20/2024
2.1.163 3,238 2/20/2024
2.1.162 6,780 2/19/2024
2.1.161 5,416 2/17/2024
2.1.160 2,273 2/17/2024
2.1.159 1,635 2/16/2024
2.1.158 1,200 2/16/2024
2.1.157 1,990 2/16/2024
2.1.156 3,069 2/16/2024
2.1.155 3,547 2/16/2024
2.1.154 283 2/16/2024
2.1.153 1,754 2/16/2024
2.1.152 274 2/16/2024
2.1.151 267 2/16/2024
2.1.150 5,993 2/14/2024
2.1.149 2,552 2/13/2024
2.1.148 3,080 2/13/2024
2.1.147 3,705 2/13/2024
2.1.146 3,553 2/13/2024
2.1.145 4,912 2/12/2024
2.1.144 794 2/11/2024
2.1.143 5,336 2/11/2024
2.1.142 3,027 2/11/2024
2.1.141 6,261 2/10/2024
2.1.140 813 2/9/2024
2.1.139 5,675 2/9/2024
2.1.138 3,668 2/9/2024
2.1.137 987 2/8/2024
2.1.136 4,599 2/8/2024
2.1.135 1,908 2/8/2024
2.1.134 10,555 2/8/2024
2.1.133 339 2/8/2024
2.1.132 284 2/8/2024
2.1.131 5,241 2/7/2024
2.1.130 2,095 2/7/2024
2.1.129 3,569 2/7/2024
2.1.128 1,170 2/7/2024
2.1.127 1,038 2/6/2024
2.1.126 2,859 2/6/2024
2.1.125 309 2/6/2024
2.1.124 7,522 2/5/2024
2.1.123 4,901 2/4/2024
2.1.122 5,186 2/2/2024
2.1.121 6,179 1/31/2024
2.1.120 6,088 1/29/2024
2.1.119 3,701 1/29/2024
2.1.118 2,478 1/29/2024
2.1.117 3,944 1/28/2024
2.1.116 5,236 1/28/2024
2.1.115 2,992 1/28/2024
2.1.114 1,755 1/28/2024
2.1.113 2,387 1/27/2024
2.1.112 2,097 1/27/2024
2.1.111 5,439 1/27/2024
2.1.110 2,748 1/27/2024
2.1.109 6,506 1/27/2024
2.1.108 1,704 1/26/2024
2.1.107 2,148 1/26/2024
2.1.106 2,791 1/26/2024
2.1.105 5,029 1/26/2024
2.1.104 2,416 1/26/2024
2.1.103 1,341 1/26/2024
2.1.102 4,482 1/25/2024
2.1.101 3,579 1/25/2024
2.1.100 1,740 1/25/2024
2.1.99 5,741 1/25/2024
2.1.98 5,521 1/19/2024
2.1.97 5,745 1/15/2024
2.1.96 2,641 1/15/2024
2.1.95 2,073 1/15/2024
2.1.94 5,217 1/15/2024
2.1.93 5,358 1/15/2024
2.1.92 5,197 1/14/2024
2.1.91 6,351 1/13/2024
2.1.90 5,347 1/12/2024
2.1.89 5,243 1/11/2024
2.1.88 7,241 1/7/2024
2.1.87 5,746 1/5/2024
2.1.86 2,585 1/5/2024
2.1.85 3,295 1/5/2024
2.1.84 6,209 1/3/2024
2.1.83 3,775 1/1/2024
2.1.82 5,136 12/28/2023
2.1.81 2,097 12/28/2023
2.1.80 2,091 12/28/2023
2.1.79 4,607 12/27/2023
2.1.78 2,190 12/27/2023
2.1.77 332 12/27/2023
2.1.76 8,829 12/25/2023
2.1.75 4,849 12/25/2023
2.1.74 2,482 12/25/2023
2.1.73 740 12/25/2023
2.1.72 348 12/25/2023
2.1.71 6,984 12/24/2023
2.1.70 5,460 12/23/2023
2.1.69 2,945 12/23/2023
2.1.68 1,752 12/23/2023
2.1.67 3,926 12/23/2023
2.1.66 325 12/23/2023
2.1.65 8,249 12/19/2023
2.1.64 2,292 12/19/2023
2.1.63 5,596 12/12/2023
2.1.62 492 12/12/2023
2.1.61 2,779 12/11/2023
2.1.60 2,251 12/11/2023
2.1.59 1,269 12/11/2023
2.1.58 1,699 12/11/2023
2.1.57 874 12/10/2023
2.1.56 841 12/10/2023
2.1.55 1,882 12/10/2023
2.1.54 1,170 12/10/2023
2.1.53 8,296 12/10/2023
2.1.52 1,890 12/9/2023
2.1.51 1,081 12/9/2023
2.1.50 1,653 12/9/2023
2.1.49 2,520 12/9/2023
2.1.48 291 12/9/2023
2.1.47 1,296 12/9/2023
2.1.46 364 12/9/2023
2.1.45 2,916 12/9/2023
2.1.44 326 12/9/2023
2.1.43 4,593 12/9/2023
2.1.42 6,843 12/6/2023
2.1.41 1,270 12/6/2023
2.1.40 1,814 12/6/2023
2.1.39 4,033 12/5/2023
2.1.38 2,046 12/5/2023
2.1.37 1,153 12/5/2023
2.1.36 2,910 12/5/2023
2.1.35 311 12/5/2023
2.1.34 2,475 12/5/2023
2.1.33 321 12/5/2023
2.1.32 1,624 12/4/2023
2.1.31 1,558 12/4/2023
2.1.30 347 12/4/2023
2.1.29 8,873 12/4/2023
2.1.28 2,953 11/27/2023
2.1.27 1,393 11/26/2023
2.1.26 3,459 11/23/2023
2.1.25 2,972 11/23/2023
2.1.24 3,634 11/23/2023
2.1.23 319 11/23/2023
2.1.22 7,062 11/20/2023
2.1.21 3,431 11/20/2023
2.1.20 5,552 11/19/2023
2.1.19 3,028 11/19/2023
2.1.18 4,201 11/19/2023
2.1.17 1,141 11/18/2023
2.1.16 5,452 11/18/2023
2.1.15 1,337 11/18/2023
2.1.14 3,473 11/18/2023
2.1.13 772 11/18/2023
2.1.12 3,600 11/17/2023
2.1.11 2,986 11/17/2023
2.1.10 2,219 11/17/2023
2.1.9 427 11/17/2023
2.1.8 3,505 11/17/2023
2.1.7 2,040 11/17/2023
2.1.6 2,557 11/17/2023
2.1.5 1,756 11/17/2023
2.1.4 607 11/17/2023
2.1.3 3,317 11/16/2023
2.0.78 1,147 11/15/2023
2.0.77 338 11/15/2023
2.0.76 2,970 11/15/2023
2.0.2 337 11/16/2023
2.0.1 303 11/16/2023
1.0.75 4,258 11/13/2023
1.0.74 6,130 11/10/2023
1.0.73 4,830 11/9/2023
1.0.72 3,297 11/8/2023
1.0.71 5,039 11/7/2023
1.0.70 2,517 11/6/2023
1.0.69 3,136 11/3/2023
1.0.68 5,651 11/2/2023
1.0.67 3,449 11/1/2023
1.0.66 11,004 10/26/2023
1.0.65 6,760 10/19/2023
1.0.64 2,935 10/18/2023
1.0.63 2,841 10/17/2023
1.0.62 3,442 10/16/2023
1.0.61 6,251 10/13/2023
1.0.60 3,682 10/12/2023
1.0.59 11,505 9/18/2023
1.0.58 328 9/18/2023
1.0.57 7,749 9/14/2023
1.0.56 7,213 8/31/2023
1.0.55 3,676 8/30/2023
1.0.54 3,155 8/29/2023
1.0.53 3,070 8/28/2023
1.0.52 5,881 8/25/2023
1.0.51 3,302 8/24/2023
1.0.50 7,987 8/21/2023
1.0.49 3,282 8/18/2023
1.0.48 3,037 8/17/2023
1.0.47 5,530 8/16/2023
1.0.46 9,116 8/10/2023
1.0.45 3,184 8/9/2023
1.0.44 5,318 8/8/2023
1.0.43 4,500 8/7/2023
1.0.42 4,694 8/4/2023
1.0.41 8,657 7/13/2023
1.0.40 5,754 7/11/2023
1.0.39 3,534 7/10/2023
1.0.38 4,394 7/7/2023
1.0.37 406 7/7/2023
1.0.36 12,074 6/30/2023
1.0.35 6,240 6/28/2023
1.0.34 6,377 6/27/2023
1.0.33 7,381 6/26/2023
1.0.32 4,398 6/23/2023
1.0.31 8,980 6/21/2023
1.0.30 9,311 6/15/2023
1.0.29 3,722 6/14/2023
1.0.28 9,995 6/9/2023
1.0.27 4,326 6/8/2023
1.0.26 5,312 6/7/2023
1.0.25 5,937 6/6/2023
1.0.24 422 6/6/2023
1.0.23 5,014 6/5/2023
1.0.22 17,188 5/30/2023
1.0.21 20,026 5/29/2023
1.0.20 6,915 5/26/2023
1.0.19 8,040 5/25/2023
1.0.18 8,407 5/24/2023
1.0.17 5,704 5/24/2023
1.0.16 1,725 5/23/2023
1.0.15 1,721 5/23/2023
1.0.12 3,141 5/22/2023
1.0.11 19,356 5/16/2023
1.0.10 15,943 4/20/2023
1.0.9 15,243 4/3/2023
1.0.8 1,305 4/3/2023
1.0.7 2,554 3/23/2023
1.0.5 829 3/13/2023
1.0.4 573 3/11/2023
1.0.3 482 3/11/2023
1.0.2 478 3/11/2023
1.0.1 547 3/11/2023