Soenneker.Utils.AsyncSingleton 3.0.665

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.665                
NuGet\Install-Package Soenneker.Utils.AsyncSingleton -Version 3.0.665                
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.665" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Soenneker.Utils.AsyncSingleton --version 3.0.665                
#r "nuget: Soenneker.Utils.AsyncSingleton, 3.0.665"                
#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.
// Install Soenneker.Utils.AsyncSingleton as a Cake Addin
#addin nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.665

// Install Soenneker.Utils.AsyncSingleton as a Cake Tool
#tool nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.665                

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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (25)

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

Package Downloads
Soenneker.Utils.MemoryStream

An easy modern MemoryStream utility

Soenneker.Blob.Container

A utility library for Azure Blob storage container operations

Soenneker.Redis.Client

A utility library for Redis client accessibility

Soenneker.Validators.Email.Disposable.Online

A validation module checking for disposable email addresses via online sources

Soenneker.GitHub.Client

An async thread-safe singleton for Octokit's GitHubClient

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.666 8,253 3/2/2025
3.0.665 1,693 3/2/2025
3.0.664 1,812 3/1/2025
3.0.663 2,967 3/1/2025
3.0.662 2,631 3/1/2025
3.0.661 1,932 3/1/2025
3.0.660 74 3/1/2025
3.0.659 2,880 3/1/2025
3.0.658 11,565 2/25/2025
3.0.657 2,548 2/25/2025
3.0.656 2,286 2/25/2025
3.0.655 2,879 2/24/2025
3.0.654 6,774 2/22/2025
3.0.653 10,895 2/22/2025
3.0.652 288 2/22/2025
3.0.651 2,994 2/21/2025
3.0.650 6,643 2/21/2025
3.0.649 8,843 2/19/2025
3.0.648 462 2/18/2025
3.0.647 1,703 2/18/2025
3.0.646 1,942 2/18/2025
3.0.645 5,008 2/18/2025
3.0.644 8,628 2/13/2025
3.0.643 9,726 2/12/2025
3.0.642 967 2/12/2025
3.0.641 1,689 2/12/2025
3.0.640 1,886 2/11/2025
3.0.639 1,885 2/11/2025
3.0.638 2,351 2/11/2025
3.0.637 3,536 2/11/2025
3.0.636 4,535 2/11/2025
3.0.635 5,778 2/10/2025
3.0.634 91 2/10/2025
3.0.633 7,723 2/9/2025
3.0.632 5,633 2/8/2025
3.0.631 1,077 2/8/2025
3.0.630 2,246 2/7/2025
3.0.629 2,826 2/7/2025
3.0.628 3,035 2/7/2025
3.0.627 258 2/7/2025
3.0.626 2,736 2/7/2025
3.0.625 81 2/7/2025
3.0.624 626 2/7/2025
3.0.623 15,155 2/5/2025
3.0.622 1,208 2/5/2025
3.0.621 2,191 2/5/2025
3.0.620 1,709 2/5/2025
3.0.619 17,703 1/28/2025
3.0.618 4,423 1/28/2025
3.0.617 244 1/27/2025
3.0.616 16,457 1/26/2025
3.0.615 1,556 1/26/2025
3.0.614 3,783 1/25/2025
3.0.613 5,033 1/25/2025
3.0.612 3,167 1/25/2025
3.0.611 1,698 1/24/2025
3.0.610 12,698 1/24/2025
3.0.609 4,085 1/24/2025
3.0.608 3,955 1/24/2025
3.0.607 3,296 1/23/2025
3.0.606 3,064 1/23/2025
3.0.605 9,597 1/21/2025
3.0.604 2,005 1/21/2025
3.0.603 4,917 1/21/2025
3.0.602 3,237 1/21/2025
3.0.601 4,616 1/21/2025
3.0.600 4,595 1/20/2025
3.0.599 335 1/20/2025
3.0.598 616 1/20/2025
3.0.597 4,670 1/20/2025
3.0.596 5,805 1/20/2025
3.0.595 673 1/20/2025
3.0.594 80 1/20/2025
3.0.593 633 1/20/2025
3.0.592 81 1/20/2025
3.0.591 14,242 1/19/2025
3.0.590 2,286 1/19/2025
3.0.589 2,306 1/18/2025
3.0.588 3,744 1/18/2025
3.0.587 1,442 1/18/2025
3.0.586 6,006 1/17/2025
3.0.585 1,121 1/17/2025
3.0.584 2,984 1/17/2025
3.0.583 2,747 1/16/2025
3.0.582 16,023 1/16/2025
3.0.581 1,424 1/16/2025
3.0.580 2,934 1/16/2025
3.0.579 3,631 1/15/2025
3.0.578 2,197 1/15/2025
3.0.577 3,864 1/15/2025
3.0.576 6,533 1/15/2025
3.0.575 1,066 1/15/2025
3.0.574 3,137 1/15/2025
3.0.573 253 1/15/2025
3.0.572 2,792 1/14/2025
3.0.571 1,298 1/14/2025
3.0.570 3,147 1/14/2025
3.0.569 12,774 1/13/2025
3.0.568 4,539 1/12/2025
3.0.567 6,842 1/11/2025
3.0.566 1,926 1/11/2025
3.0.565 871 1/11/2025
3.0.564 782 1/10/2025
3.0.563 4,129 1/10/2025
3.0.562 381 1/10/2025
3.0.561 798 1/10/2025
3.0.560 79 1/10/2025
3.0.559 78 1/10/2025
3.0.558 8,521 1/8/2025
3.0.557 238 1/8/2025
3.0.556 3,714 1/3/2025
3.0.555 2,922 1/3/2025
3.0.554 3,905 1/2/2025
3.0.553 644 1/2/2025
3.0.552 115 1/2/2025
3.0.551 2,198 1/2/2025
3.0.550 4,982 1/1/2025
3.0.549 689 1/1/2025
3.0.548 1,099 1/1/2025
3.0.547 1,287 1/1/2025
3.0.546 92 1/1/2025
3.0.545 579 12/31/2024
3.0.544 94 12/31/2024
3.0.543 204 12/31/2024
3.0.542 6,986 12/31/2024
3.0.541 7,291 12/31/2024
3.0.540 2,946 12/31/2024
3.0.539 3,738 12/31/2024
3.0.538 2,682 12/31/2024
3.0.537 1,112 12/31/2024
3.0.536 89 12/31/2024
3.0.535 4,627 12/31/2024
3.0.534 14,193 12/27/2024
3.0.533 2,621 12/27/2024
3.0.532 9,709 12/24/2024
3.0.531 614 12/24/2024
3.0.530 1,422 12/24/2024
3.0.529 249 12/24/2024
3.0.528 299 12/24/2024
3.0.527 1,690 12/23/2024
3.0.526 3,448 12/23/2024
3.0.525 1,648 12/23/2024
3.0.524 1,526 12/23/2024
3.0.523 2,139 12/23/2024
3.0.522 1,128 12/23/2024
3.0.521 2,744 12/22/2024
3.0.520 91 12/22/2024
3.0.519 11,811 12/22/2024
3.0.518 108 12/22/2024
3.0.517 8,706 12/22/2024
3.0.516 85 12/22/2024
3.0.515 4,169 12/22/2024
3.0.514 87 12/22/2024
3.0.513 802 12/21/2024
3.0.512 251 12/21/2024
3.0.511 84 12/21/2024
3.0.510 7,371 12/21/2024
3.0.509 804 12/21/2024
3.0.508 81 12/21/2024
3.0.507 1,280 12/21/2024
3.0.506 89 12/21/2024
3.0.505 4,470 12/21/2024
3.0.504 1,416 12/21/2024
3.0.503 3,450 12/21/2024
3.0.502 85 12/21/2024
3.0.501 2,139 12/20/2024
3.0.500 2,216 12/20/2024
3.0.499 4,162 12/20/2024
3.0.498 1,286 12/20/2024
3.0.497 582 12/20/2024
3.0.496 6,491 12/19/2024
3.0.495 544 12/19/2024
3.0.494 963 12/18/2024
3.0.493 515 12/18/2024
3.0.492 10,662 12/17/2024
3.0.491 361 12/17/2024
3.0.490 786 12/17/2024
3.0.489 1,012 12/17/2024
3.0.488 1,068 12/16/2024
3.0.487 318 12/16/2024
3.0.486 81 12/16/2024
3.0.485 9,336 12/9/2024
3.0.484 2,147 12/9/2024
3.0.483 4,756 12/9/2024
3.0.482 904 12/9/2024
3.0.480 9,599 12/6/2024
3.0.479 5,155 12/6/2024
3.0.478 1,649 12/6/2024
3.0.477 928 12/6/2024
3.0.476 610 12/6/2024
3.0.475 2,027 12/6/2024
3.0.474 6,282 12/6/2024
3.0.473 8,357 12/5/2024
3.0.472 938 12/5/2024
3.0.471 4,873 12/5/2024
3.0.470 2,182 12/5/2024
3.0.469 609 12/5/2024
3.0.468 4,409 12/4/2024
3.0.467 2,356 12/4/2024
3.0.466 2,557 12/4/2024
3.0.465 6,813 12/3/2024
3.0.464 280 12/3/2024
3.0.463 1,556 12/3/2024
3.0.462 5,871 12/3/2024
3.0.461 1,102 12/3/2024
3.0.460 3,379 12/3/2024
3.0.459 86 12/3/2024
3.0.458 719 12/3/2024
3.0.457 7,796 12/2/2024
3.0.456 3,470 12/2/2024
3.0.455 1,004 12/2/2024
3.0.454 873 12/1/2024
3.0.453 4,602 12/1/2024
3.0.452 4,990 12/1/2024
3.0.451 5,118 11/29/2024
3.0.450 8,026 11/20/2024
3.0.449 5,475 11/20/2024
3.0.448 391 11/20/2024
3.0.447 1,889 11/20/2024
3.0.445 2,368 11/19/2024
3.0.444 2,092 11/19/2024
3.0.443 5,688 11/19/2024
3.0.442 4,038 11/19/2024
3.0.441 81 11/19/2024
3.0.439 11,062 11/14/2024
3.0.438 4,297 11/14/2024
3.0.437 1,842 11/14/2024
3.0.436 3,358 11/14/2024
3.0.435 322 11/14/2024
3.0.434 107 11/14/2024
3.0.433 1,156 11/14/2024
3.0.432 90 11/14/2024
2.1.431 15,747 11/13/2024
2.1.430 3,165 11/13/2024
2.1.429 2,458 11/12/2024
2.1.428 11,593 11/9/2024
2.1.427 2,369 11/9/2024
2.1.426 2,577 11/8/2024
2.1.425 1,169 11/8/2024
2.1.424 1,317 11/8/2024
2.1.423 1,536 11/8/2024
2.1.422 1,759 11/8/2024
2.1.421 4,708 11/8/2024
2.1.420 18,072 11/1/2024
2.1.419 8,281 10/29/2024
2.1.418 3,232 10/29/2024
2.1.417 4,408 10/29/2024
2.1.416 8,188 10/28/2024
2.1.415 8,296 10/26/2024
2.1.414 9,383 10/22/2024
2.1.413 2,955 10/22/2024
2.1.412 1,669 10/22/2024
2.1.411 9,038 10/17/2024
2.1.410 8,062 10/15/2024
2.1.409 1,495 10/14/2024
2.1.408 8,356 10/11/2024
2.1.407 2,307 10/11/2024
2.1.406 1,494 10/11/2024
2.1.404 12,319 10/8/2024
2.1.403 5,081 10/8/2024
2.1.402 15,120 10/3/2024
2.1.401 1,110 10/3/2024
2.1.400 2,553 10/3/2024
2.1.399 9,828 10/2/2024
2.1.398 3,257 10/2/2024
2.1.397 10,222 10/1/2024
2.1.396 916 10/1/2024
2.1.395 5,083 9/30/2024
2.1.394 7,947 9/29/2024
2.1.393 2,553 9/29/2024
2.1.392 2,456 9/29/2024
2.1.391 6,956 9/27/2024
2.1.390 4,736 9/27/2024
2.1.389 156 9/27/2024
2.1.388 733 9/27/2024
2.1.387 1,762 9/27/2024
2.1.386 100 9/27/2024
2.1.385 10,504 9/26/2024
2.1.384 9,213 9/26/2024
2.1.383 4,006 9/26/2024
2.1.382 11,637 9/23/2024
2.1.381 2,879 9/23/2024
2.1.380 4,994 9/23/2024
2.1.379 4,966 9/23/2024
2.1.378 3,757 9/23/2024
2.1.377 763 9/23/2024
2.1.376 1,882 9/23/2024
2.1.375 90 9/23/2024
2.1.374 13,663 9/17/2024
2.1.373 668 9/17/2024
2.1.372 2,734 9/17/2024
2.1.371 2,751 9/17/2024
2.1.370 3,131 9/17/2024
2.1.369 4,245 9/17/2024
2.1.368 4,749 9/17/2024
2.1.367 15,696 9/16/2024
2.1.366 8,070 9/12/2024
2.1.365 3,052 9/11/2024
2.1.363 8,924 9/11/2024
2.1.362 17,220 9/10/2024
2.1.361 722 9/10/2024
2.1.360 1,039 9/10/2024
2.1.359 923 9/10/2024
2.1.358 3,676 9/9/2024
2.1.357 1,512 9/9/2024
2.1.356 6,292 9/9/2024
2.1.355 1,747 9/9/2024
2.1.354 7,030 9/9/2024
2.1.353 13,516 9/7/2024
2.1.352 9,925 9/6/2024
2.1.351 5,158 9/5/2024
2.1.350 5,174 9/5/2024
2.1.349 552 9/5/2024
2.1.348 139 9/5/2024
2.1.347 9,054 9/5/2024
2.1.346 1,028 9/4/2024
2.1.345 13,633 9/3/2024
2.1.344 6,163 9/3/2024
2.1.343 4,550 9/3/2024
2.1.342 8,727 8/29/2024
2.1.341 7,279 8/26/2024
2.1.340 7,696 8/21/2024
2.1.339 2,817 8/21/2024
2.1.338 1,650 8/20/2024
2.1.337 5,815 8/20/2024
2.1.336 116 8/20/2024
2.1.335 117 8/20/2024
2.1.334 9,798 8/19/2024
2.1.333 9,521 8/15/2024
2.1.332 9,518 8/13/2024
2.1.331 7,981 8/6/2024
2.1.330 4,374 8/6/2024
2.1.329 6,591 8/1/2024
2.1.328 1,353 8/1/2024
2.1.327 623 8/1/2024
2.1.326 9,480 7/25/2024
2.1.325 1,975 7/25/2024
2.1.324 1,708 7/25/2024
2.1.323 267 7/24/2024
2.1.322 719 7/24/2024
2.1.321 342 7/24/2024
2.1.320 9,454 7/20/2024
2.1.319 12,003 7/14/2024
2.1.318 4,477 7/14/2024
2.1.317 6,816 7/10/2024
2.1.316 2,952 7/10/2024
2.1.315 2,762 7/10/2024
2.1.314 1,596 7/10/2024
2.1.313 1,013 7/10/2024
2.1.312 328 7/10/2024
2.1.311 2,611 7/10/2024
2.1.310 1,344 7/9/2024
2.1.308 2,762 7/9/2024
2.1.307 96 7/9/2024
2.1.306 2,948 7/9/2024
2.1.305 6,823 7/9/2024
2.1.304 5,710 7/9/2024
2.1.303 2,747 7/9/2024
2.1.302 94 7/9/2024
2.1.301 6,778 7/9/2024
2.1.300 6,127 7/8/2024
2.1.299 364 7/8/2024
2.1.298 97 7/8/2024
2.1.297 107 7/8/2024
2.1.296 8,413 7/8/2024
2.1.295 1,640 7/7/2024
2.1.294 5,085 7/7/2024
2.1.293 120 7/7/2024
2.1.292 1,459 7/7/2024
2.1.291 3,108 7/7/2024
2.1.290 10,325 7/3/2024
2.1.289 3,295 7/3/2024
2.1.288 2,953 7/3/2024
2.1.287 864 7/3/2024
2.1.286 5,699 7/2/2024
2.1.283 3,543 6/30/2024
2.1.282 2,380 6/28/2024
2.1.281 240 6/28/2024
2.1.279 7,661 6/22/2024
2.1.278 8,817 6/15/2024
2.1.277 1,166 6/15/2024
2.1.276 6,766 6/14/2024
2.1.275 10,804 6/1/2024
2.1.274 1,741 6/1/2024
2.1.273 1,097 6/1/2024
2.1.272 9,431 5/31/2024
2.1.271 5,885 5/29/2024
2.1.270 6,725 5/28/2024
2.1.269 3,783 5/27/2024
2.1.268 7,000 5/26/2024
2.1.267 6,902 5/26/2024
2.1.266 331 5/26/2024
2.1.265 2,527 5/25/2024
2.1.264 1,835 5/25/2024
2.1.263 1,668 5/25/2024
2.1.262 111 5/25/2024
2.1.261 1,347 5/25/2024
2.1.260 109 5/25/2024
2.1.259 4,906 5/25/2024
2.1.258 106 5/25/2024
2.1.257 8,734 5/23/2024
2.1.256 3,454 5/23/2024
2.1.255 2,485 5/22/2024
2.1.254 1,868 5/22/2024
2.1.253 764 5/22/2024
2.1.252 104 5/22/2024
2.1.251 101 5/22/2024
2.1.250 3,613 5/22/2024
2.1.249 9,285 5/18/2024
2.1.248 1,956 5/17/2024
2.1.247 3,350 5/17/2024
2.1.246 5,214 5/16/2024
2.1.245 1,353 5/15/2024
2.1.244 3,797 5/15/2024
2.1.243 7,777 5/12/2024
2.1.242 4,244 5/3/2024
2.1.241 4,755 4/29/2024
2.1.240 2,713 4/29/2024
2.1.239 5,231 4/28/2024
2.1.238 848 4/28/2024
2.1.237 969 4/28/2024
2.1.236 3,943 4/28/2024
2.1.235 556 4/28/2024
2.1.234 5,279 4/28/2024
2.1.233 1,112 4/28/2024
2.1.232 4,912 4/27/2024
2.1.231 111 4/27/2024
2.1.230 9,875 4/19/2024
2.1.229 6,122 4/18/2024
2.1.228 6,412 4/12/2024
2.1.227 1,022 4/12/2024
2.1.226 1,641 4/12/2024
2.1.225 1,376 4/12/2024
2.1.224 957 4/12/2024
2.1.223 1,377 4/12/2024
2.1.222 524 4/12/2024
2.1.221 116 4/12/2024
2.1.220 3,593 4/10/2024
2.1.219 15,138 4/10/2024
2.1.218 675 4/10/2024
2.1.217 7,626 4/2/2024
2.1.216 1,330 4/1/2024
2.1.215 7,375 3/29/2024
2.1.214 5,347 3/25/2024
2.1.213 612 3/25/2024
2.1.212 7,432 3/20/2024
2.1.211 5,138 3/19/2024
2.1.210 3,064 3/19/2024
2.1.209 3,383 3/18/2024
2.1.208 7,379 3/15/2024
2.1.207 5,022 3/13/2024
2.1.206 1,921 3/13/2024
2.1.205 2,497 3/13/2024
2.1.204 163 3/13/2024
2.1.203 157 3/13/2024
2.1.202 1,663 3/13/2024
2.1.201 159 3/13/2024
2.1.200 3,615 3/12/2024
2.1.199 4,635 3/12/2024
2.1.198 6,073 3/11/2024
2.1.197 4,216 3/11/2024
2.1.196 4,517 3/10/2024
2.1.195 5,835 3/8/2024
2.1.194 533 3/8/2024
2.1.193 4,198 3/8/2024
2.1.192 5,393 3/6/2024
2.1.191 5,390 3/4/2024
2.1.190 3,057 3/4/2024
2.1.189 6,122 3/2/2024
2.1.188 1,566 3/2/2024
2.1.187 1,957 3/2/2024
2.1.186 1,098 3/2/2024
2.1.185 763 3/2/2024
2.1.184 4,123 2/29/2024
2.1.183 1,353 2/29/2024
2.1.182 2,062 2/29/2024
2.1.181 3,967 2/26/2024
2.1.180 15,318 2/25/2024
2.1.179 1,838 2/25/2024
2.1.178 6,040 2/23/2024
2.1.177 5,852 2/22/2024
2.1.176 1,631 2/22/2024
2.1.175 1,972 2/21/2024
2.1.174 3,193 2/21/2024
2.1.173 2,875 2/21/2024
2.1.172 3,617 2/21/2024
2.1.171 1,558 2/21/2024
2.1.170 357 2/21/2024
2.1.169 3,314 2/21/2024
2.1.168 1,030 2/20/2024
2.1.167 207 2/20/2024
2.1.166 212 2/20/2024
2.1.165 4,410 2/20/2024
2.1.164 3,341 2/20/2024
2.1.163 3,207 2/20/2024
2.1.162 6,722 2/19/2024
2.1.161 5,359 2/17/2024
2.1.160 2,229 2/17/2024
2.1.159 1,610 2/16/2024
2.1.158 1,172 2/16/2024
2.1.157 1,965 2/16/2024
2.1.156 3,022 2/16/2024
2.1.155 3,490 2/16/2024
2.1.154 248 2/16/2024
2.1.153 1,723 2/16/2024
2.1.152 249 2/16/2024
2.1.151 243 2/16/2024
2.1.150 5,948 2/14/2024
2.1.149 2,521 2/13/2024
2.1.148 3,043 2/13/2024
2.1.147 3,663 2/13/2024
2.1.146 3,506 2/13/2024
2.1.145 4,867 2/12/2024
2.1.144 769 2/11/2024
2.1.143 5,292 2/11/2024
2.1.142 2,989 2/11/2024
2.1.141 6,197 2/10/2024
2.1.140 776 2/9/2024
2.1.139 5,626 2/9/2024
2.1.138 3,634 2/9/2024
2.1.137 967 2/8/2024
2.1.136 4,553 2/8/2024
2.1.135 1,878 2/8/2024
2.1.134 10,496 2/8/2024
2.1.133 313 2/8/2024
2.1.132 261 2/8/2024
2.1.131 5,181 2/7/2024
2.1.130 2,056 2/7/2024
2.1.129 3,521 2/7/2024
2.1.128 1,146 2/7/2024
2.1.127 1,015 2/6/2024
2.1.126 2,826 2/6/2024
2.1.125 280 2/6/2024
2.1.124 7,458 2/5/2024
2.1.123 4,874 2/4/2024
2.1.122 5,157 2/2/2024
2.1.121 6,142 1/31/2024
2.1.120 6,047 1/29/2024
2.1.119 3,654 1/29/2024
2.1.118 2,453 1/29/2024
2.1.117 3,903 1/28/2024
2.1.116 5,193 1/28/2024
2.1.115 2,951 1/28/2024
2.1.114 1,717 1/28/2024
2.1.113 2,357 1/27/2024
2.1.112 2,072 1/27/2024
2.1.111 5,402 1/27/2024
2.1.110 2,721 1/27/2024
2.1.109 6,464 1/27/2024
2.1.108 1,676 1/26/2024
2.1.107 2,121 1/26/2024
2.1.106 2,759 1/26/2024
2.1.105 4,993 1/26/2024
2.1.104 2,379 1/26/2024
2.1.103 1,316 1/26/2024
2.1.102 4,436 1/25/2024
2.1.101 3,546 1/25/2024
2.1.100 1,712 1/25/2024
2.1.99 5,696 1/25/2024
2.1.98 5,481 1/19/2024
2.1.97 5,692 1/15/2024
2.1.96 2,616 1/15/2024
2.1.95 2,044 1/15/2024
2.1.94 5,182 1/15/2024
2.1.93 5,322 1/15/2024
2.1.92 5,172 1/14/2024
2.1.91 6,325 1/13/2024
2.1.90 5,291 1/12/2024
2.1.89 5,177 1/11/2024
2.1.88 7,185 1/7/2024
2.1.87 5,708 1/5/2024
2.1.86 2,562 1/5/2024
2.1.85 3,266 1/5/2024
2.1.84 6,156 1/3/2024
2.1.83 3,751 1/1/2024
2.1.82 5,110 12/28/2023
2.1.81 2,072 12/28/2023
2.1.80 2,069 12/28/2023
2.1.79 4,574 12/27/2023
2.1.78 2,151 12/27/2023
2.1.77 298 12/27/2023
2.1.76 8,786 12/25/2023
2.1.75 4,812 12/25/2023
2.1.74 2,444 12/25/2023
2.1.73 713 12/25/2023
2.1.72 322 12/25/2023
2.1.71 6,939 12/24/2023
2.1.70 5,418 12/23/2023
2.1.69 2,913 12/23/2023
2.1.68 1,720 12/23/2023
2.1.67 3,892 12/23/2023
2.1.66 297 12/23/2023
2.1.65 8,198 12/19/2023
2.1.64 2,259 12/19/2023
2.1.63 5,553 12/12/2023
2.1.62 468 12/12/2023
2.1.61 2,742 12/11/2023
2.1.60 2,225 12/11/2023
2.1.59 1,239 12/11/2023
2.1.58 1,671 12/11/2023
2.1.57 843 12/10/2023
2.1.56 822 12/10/2023
2.1.55 1,855 12/10/2023
2.1.54 1,146 12/10/2023
2.1.53 8,253 12/10/2023
2.1.52 1,868 12/9/2023
2.1.51 1,056 12/9/2023
2.1.50 1,629 12/9/2023
2.1.49 2,500 12/9/2023
2.1.48 268 12/9/2023
2.1.47 1,275 12/9/2023
2.1.46 341 12/9/2023
2.1.45 2,882 12/9/2023
2.1.44 303 12/9/2023
2.1.43 4,558 12/9/2023
2.1.42 6,809 12/6/2023
2.1.41 1,248 12/6/2023
2.1.40 1,786 12/6/2023
2.1.39 4,008 12/5/2023
2.1.38 2,028 12/5/2023
2.1.37 1,138 12/5/2023
2.1.36 2,891 12/5/2023
2.1.35 299 12/5/2023
2.1.34 2,460 12/5/2023
2.1.33 304 12/5/2023
2.1.32 1,614 12/4/2023
2.1.31 1,542 12/4/2023
2.1.30 331 12/4/2023
2.1.29 8,855 12/4/2023
2.1.28 2,918 11/27/2023
2.1.27 1,372 11/26/2023
2.1.26 3,428 11/23/2023
2.1.25 2,955 11/23/2023
2.1.24 3,608 11/23/2023
2.1.23 305 11/23/2023
2.1.22 7,040 11/20/2023
2.1.21 3,419 11/20/2023
2.1.20 5,506 11/19/2023
2.1.19 3,019 11/19/2023
2.1.18 4,166 11/19/2023
2.1.17 1,125 11/18/2023
2.1.16 5,410 11/18/2023
2.1.15 1,318 11/18/2023
2.1.14 3,442 11/18/2023
2.1.13 760 11/18/2023
2.1.12 3,578 11/17/2023
2.1.11 2,957 11/17/2023
2.1.10 2,195 11/17/2023
2.1.9 411 11/17/2023
2.1.8 3,481 11/17/2023
2.1.7 2,019 11/17/2023
2.1.6 2,541 11/17/2023
2.1.5 1,738 11/17/2023
2.1.4 593 11/17/2023
2.1.3 3,293 11/16/2023
2.0.78 1,133 11/15/2023
2.0.77 323 11/15/2023
2.0.76 2,951 11/15/2023
2.0.2 327 11/16/2023
2.0.1 290 11/16/2023
1.0.75 4,244 11/13/2023
1.0.74 6,110 11/10/2023
1.0.73 4,812 11/9/2023
1.0.72 3,268 11/8/2023
1.0.71 5,008 11/7/2023
1.0.70 2,493 11/6/2023
1.0.69 3,123 11/3/2023
1.0.68 5,636 11/2/2023
1.0.67 3,432 11/1/2023
1.0.66 10,960 10/26/2023
1.0.65 6,706 10/19/2023
1.0.64 2,907 10/18/2023
1.0.63 2,816 10/17/2023
1.0.62 3,412 10/16/2023
1.0.61 6,210 10/13/2023
1.0.60 3,652 10/12/2023
1.0.59 11,455 9/18/2023
1.0.58 310 9/18/2023
1.0.57 7,707 9/14/2023
1.0.56 7,172 8/31/2023
1.0.55 3,651 8/30/2023
1.0.54 3,132 8/29/2023
1.0.53 3,042 8/28/2023
1.0.52 5,832 8/25/2023
1.0.51 3,259 8/24/2023
1.0.50 7,928 8/21/2023
1.0.49 3,225 8/18/2023
1.0.48 3,003 8/17/2023
1.0.47 5,502 8/16/2023
1.0.46 9,078 8/10/2023
1.0.45 3,163 8/9/2023
1.0.44 5,288 8/8/2023
1.0.43 4,466 8/7/2023
1.0.42 4,663 8/4/2023
1.0.41 8,594 7/13/2023
1.0.40 5,723 7/11/2023
1.0.39 3,502 7/10/2023
1.0.38 4,365 7/7/2023
1.0.37 383 7/7/2023
1.0.36 12,027 6/30/2023
1.0.35 6,198 6/28/2023
1.0.34 6,337 6/27/2023
1.0.33 7,331 6/26/2023
1.0.32 4,362 6/23/2023
1.0.31 8,904 6/21/2023
1.0.30 9,253 6/15/2023
1.0.29 3,657 6/14/2023
1.0.28 9,873 6/9/2023
1.0.27 4,292 6/8/2023
1.0.26 5,259 6/7/2023
1.0.25 5,902 6/6/2023
1.0.24 393 6/6/2023
1.0.23 4,938 6/5/2023
1.0.22 17,067 5/30/2023
1.0.21 19,886 5/29/2023
1.0.20 6,880 5/26/2023
1.0.19 8,007 5/25/2023
1.0.18 8,364 5/24/2023
1.0.17 5,669 5/24/2023
1.0.16 1,698 5/23/2023
1.0.15 1,687 5/23/2023
1.0.12 3,110 5/22/2023
1.0.11 19,312 5/16/2023
1.0.10 15,913 4/20/2023
1.0.9 15,199 4/3/2023
1.0.8 1,279 4/3/2023
1.0.7 2,523 3/23/2023
1.0.5 796 3/13/2023
1.0.4 541 3/11/2023
1.0.3 445 3/11/2023
1.0.2 449 3/11/2023
1.0.1 501 3/11/2023