commit 18e3252a4648b741496c33e047ec3f1272e8d1f1 Author: skins Date: Fri Dec 17 13:39:34 2021 +0000 git init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2f479d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.dll +*.gz +.ionide diff --git a/Client/App.razor b/Client/App.razor new file mode 100644 index 0000000..b941644 --- /dev/null +++ b/Client/App.razor @@ -0,0 +1,10 @@ + + + + + + +

Sorry, there's nothing at this address.

+
+
+
diff --git a/Client/Pages/FetchData.razor b/Client/Pages/FetchData.razor new file mode 100644 index 0000000..ebe3e84 --- /dev/null +++ b/Client/Pages/FetchData.razor @@ -0,0 +1,46 @@ +@page "/fetchdata" +@using spanreed.Shared +@inject HttpClient Http + +

Weather forecast

+ +

This component demonstrates fetching data from the server.

+ +@if (forecasts == null) +{ +

Loading...

+} +else +{ + + + + + + + + + + + @foreach (var forecast in forecasts) + { + + + + + + + } + +
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
+} + +@code { + private WeatherForecast[] forecasts; + + protected override async Task OnInitializedAsync() + { + forecasts = await Http.GetFromJsonAsync("WeatherForecast"); + } + +} diff --git a/Client/Pages/Index.razor b/Client/Pages/Index.razor new file mode 100644 index 0000000..e54d914 --- /dev/null +++ b/Client/Pages/Index.razor @@ -0,0 +1,7 @@ +@page "/" + +

Hello, world!

+ +Welcome to your new app. + + diff --git a/Client/Pages/MessageComponent.razor b/Client/Pages/MessageComponent.razor new file mode 100644 index 0000000..8043117 --- /dev/null +++ b/Client/Pages/MessageComponent.razor @@ -0,0 +1,14 @@ +

@author

+

@timestamp.ToString("g")

+

@content

+ +@code { + [Parameter] + public DateTime timestamp {get; set;} + + [Parameter] + public string author {get; set;} + + [Parameter] + public string content {get; set;} +} \ No newline at end of file diff --git a/Client/Pages/Room.razor b/Client/Pages/Room.razor new file mode 100644 index 0000000..90e356f --- /dev/null +++ b/Client/Pages/Room.razor @@ -0,0 +1,80 @@ +@page "/{room}" +@using Microsoft.AspNetCore.SignalR.Client +@using spanreed.Shared +@inject NavigationManager NavigationManager +@implements IDisposable +@inject HttpClient Http + +
+ +
+
+ +
+ + +
+ +
    + @foreach (var message in messages) + { +
  • + } +
+ +@code { + private HubConnection hubConnection; + private List messages = new List(); + private string userInput; + private string messageInput; + [Parameter] + public string room {get; set;} + + protected override async Task OnParametersSetAsync() { + if (hubConnection != null) { + try { + await hubConnection.StopAsync(); + } + finally { + await hubConnection.DisposeAsync(); + } + } + + messages.Clear(); + messageInput = ""; + + hubConnection = new HubConnectionBuilder().WithUrl(NavigationManager.ToAbsoluteUri("/sendmessage")).Build(); + hubConnection.On("Received", (author, content, timestamp) => { + messages.Add(new ChatData{Author = author, Content = content, Timestamp = timestamp}); + StateHasChanged(); + }); + var old_messages = await Http.GetFromJsonAsync($"Chat/{room}"); + + if (old_messages != null) { + foreach (var message in old_messages) + { + messages.Add(message); + } + } + + await hubConnection.StartAsync(); + + await hubConnection.SendAsync("Connect", room); + } + + Task Send() => + hubConnection.SendAsync("sendMessage", userInput, messageInput, room, DateTime.Now); + + public bool IsConnected => + hubConnection.State == HubConnectionState.Connected; + + public void Dispose() { + _ = hubConnection.DisposeAsync(); + } +} \ No newline at end of file diff --git a/Client/Program.cs b/Client/Program.cs new file mode 100644 index 0000000..7f3c2f5 --- /dev/null +++ b/Client/Program.cs @@ -0,0 +1,25 @@ +using System; +using System.Net.Http; +using System.Collections.Generic; +using System.Threading.Tasks; +using System.Text; +using Microsoft.AspNetCore.Components.WebAssembly.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; + +namespace spanreed.Client +{ + public class Program + { + public static async Task Main(string[] args) + { + var builder = WebAssemblyHostBuilder.CreateDefault(args); + builder.RootComponents.Add("#app"); + + builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); + + await builder.Build().RunAsync(); + } + } +} diff --git a/Client/Properties/launchSettings.json b/Client/Properties/launchSettings.json new file mode 100644 index 0000000..987f5f8 --- /dev/null +++ b/Client/Properties/launchSettings.json @@ -0,0 +1,30 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:58659", + "sslPort": 44350 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "spanreed": { + "commandName": "Project", + "dotnetRunMessages": "true", + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:5001;http://localhost:5000", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/Client/Shared/MainLayout.razor b/Client/Shared/MainLayout.razor new file mode 100644 index 0000000..a76e097 --- /dev/null +++ b/Client/Shared/MainLayout.razor @@ -0,0 +1,17 @@ +@inherits LayoutComponentBase + +
+ + +
+
+ About +
+ +
+ @Body +
+
+
diff --git a/Client/Shared/MainLayout.razor.css b/Client/Shared/MainLayout.razor.css new file mode 100644 index 0000000..43c355a --- /dev/null +++ b/Client/Shared/MainLayout.razor.css @@ -0,0 +1,70 @@ +.page { + position: relative; + display: flex; + flex-direction: column; +} + +.main { + flex: 1; +} + +.sidebar { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + + .top-row ::deep a, .top-row .btn-link { + white-space: nowrap; + margin-left: 1.5rem; + } + + .top-row a:first-child { + overflow: hidden; + text-overflow: ellipsis; + } + +@media (max-width: 640.98px) { + .top-row:not(.auth) { + display: none; + } + + .top-row.auth { + justify-content: space-between; + } + + .top-row a, .top-row .btn-link { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page { + flex-direction: row; + } + + .sidebar { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row { + position: sticky; + top: 0; + z-index: 1; + } + + .main > div { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} diff --git a/Client/Shared/NavMenu.razor b/Client/Shared/NavMenu.razor new file mode 100644 index 0000000..0aef705 --- /dev/null +++ b/Client/Shared/NavMenu.razor @@ -0,0 +1,85 @@ +@using Microsoft.AspNetCore.SignalR.Client +@using spanreed.Shared +@inject NavigationManager NavigationManager +@implements IDisposable +@inject HttpClient Http + + + +
+ +
+ +@code { + private string NewRoom; + private string NewRoomBox; + private bool collapseNavMenu = true; + + private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; + + private void ToggleNavMenu() + { + collapseNavMenu = !collapseNavMenu; + } + + private HubConnection hubConnection; + private List rooms = new List(); + + protected override async Task OnInitializedAsync() { + hubConnection = new HubConnectionBuilder().WithUrl(NavigationManager.ToAbsoluteUri("/addroom")).Build(); + hubConnection.On("NewRoom", name => { + rooms.Add(name); + rooms.Sort(); + StateHasChanged(); + }); + var existing_rooms = await Http.GetFromJsonAsync("Room"); + + if (existing_rooms != null) { + foreach (var room in existing_rooms) + { + rooms.Add(room); + rooms.Sort(); + } + } + await hubConnection.StartAsync(); + var roomName = NavigationManager.Uri.Split("/").LastOrDefault(); + if (roomName.Length > 0) { + await hubConnection.SendAsync("AddRoom", NavigationManager.Uri.Split("/").LastOrDefault()); + } + } + + async Task EnterBar(KeyboardEventArgs e) { + if (e.Key.Equals("Enter")) { + Console.WriteLine(NewRoom); + await hubConnection.SendAsync("AddRoom", NewRoom); + NavigationManager.NavigateTo(NewRoom); + NewRoom = ""; + NewRoomBox = ""; + } else if (e.Key.Length == 1) { + NewRoom = NewRoom + e.Key; + } + } + + public bool IsConnected => + hubConnection.State == HubConnectionState.Connected; + + public void Dispose() { + _ = hubConnection.DisposeAsync(); + } +} diff --git a/Client/Shared/NavMenu.razor.css b/Client/Shared/NavMenu.razor.css new file mode 100644 index 0000000..acc5f9f --- /dev/null +++ b/Client/Shared/NavMenu.razor.css @@ -0,0 +1,62 @@ +.navbar-toggler { + background-color: rgba(255, 255, 255, 0.1); +} + +.top-row { + height: 3.5rem; + background-color: rgba(0,0,0,0.4); +} + +.navbar-brand { + font-size: 1.1rem; +} + +.oi { + width: 2rem; + font-size: 1.1rem; + vertical-align: text-top; + top: -2px; +} + +.nav-item { + font-size: 0.9rem; + padding-bottom: 0.5rem; +} + + .nav-item:first-of-type { + padding-top: 1rem; + } + + .nav-item:last-of-type { + padding-bottom: 1rem; + } + + .nav-item ::deep a { + color: #d7d7d7; + border-radius: 4px; + height: 3rem; + display: flex; + align-items: center; + line-height: 3rem; + } + +.nav-item ::deep a.active { + background-color: rgba(255,255,255,0.25); + color: white; +} + +.nav-item ::deep a:hover { + background-color: rgba(255,255,255,0.1); + color: white; +} + +@media (min-width: 641px) { + .navbar-toggler { + display: none; + } + + .collapse { + /* Never collapse the sidebar for wide screens */ + display: block; + } +} diff --git a/Client/Shared/SurveyPrompt.razor b/Client/Shared/SurveyPrompt.razor new file mode 100644 index 0000000..1ec40da --- /dev/null +++ b/Client/Shared/SurveyPrompt.razor @@ -0,0 +1,16 @@ + + +@code { + // Demonstrates how a parent component can supply parameters + [Parameter] + public string Title { get; set; } +} diff --git a/Client/_Imports.razor b/Client/_Imports.razor new file mode 100644 index 0000000..465de10 --- /dev/null +++ b/Client/_Imports.razor @@ -0,0 +1,10 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.AspNetCore.Components.WebAssembly.Http +@using Microsoft.JSInterop +@using spanreed.Client +@using spanreed.Client.Shared diff --git a/Client/bin/Debug/net5.0/spanreed.Client.StaticWebAssets.xml b/Client/bin/Debug/net5.0/spanreed.Client.StaticWebAssets.xml new file mode 100644 index 0000000..6df2b5c --- /dev/null +++ b/Client/bin/Debug/net5.0/spanreed.Client.StaticWebAssets.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Client/bin/Debug/net5.0/spanreed.Client.pdb b/Client/bin/Debug/net5.0/spanreed.Client.pdb new file mode 100644 index 0000000..cec2748 Binary files /dev/null and b/Client/bin/Debug/net5.0/spanreed.Client.pdb differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.boot.json b/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.boot.json new file mode 100644 index 0000000..aba0ab3 --- /dev/null +++ b/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.boot.json @@ -0,0 +1,225 @@ +{ + "cacheBootResources": true, + "config": [ ], + "debugBuild": true, + "entryAssembly": "spanreed.Client", + "icuDataMode": 0, + "linkerEnabled": false, + "resources": { + "assembly": { + "Microsoft.AspNetCore.Authorization.dll": "sha256-WlH0wmI5\/sRPenM4xwpdAaf+z3p\/Hi8pXr+nNJbq6hk=", + "Microsoft.AspNetCore.Components.dll": "sha256-hBswojmhv0\/UiVhajMSnBSR5rk3AGi1AJk8t810UxrM=", + "Microsoft.AspNetCore.Components.Forms.dll": "sha256-Af2ENvvmCbPgN12Bwzq8vtlRtVT2Aove7PIZELJwT3w=", + "Microsoft.AspNetCore.Components.Web.dll": "sha256-OcQ71I6yYhurPDL0LBxl8U5ny5flAnJZ92kR\/jajM5g=", + "Microsoft.AspNetCore.Components.WebAssembly.dll": "sha256-YPkzwucaQhYCKEPNFCN2A4aOSq9jNa1GWgpS54ThbKE=", + "Microsoft.AspNetCore.Connections.Abstractions.dll": "sha256-AorwqsCF14J0M4hFtKD3uXZ8ZLh73hEScSLaUwcWvGo=", + "Microsoft.AspNetCore.Http.Connections.Client.dll": "sha256-tKMpFNgXBSALsw0bxkuNXnZnL4j8ciSGvjKN12Ez89Q=", + "Microsoft.AspNetCore.Http.Connections.Common.dll": "sha256-GK\/1peOEzPqID7aH2rk5HKLaZ5MxI5GL0gQ7VB+ToKw=", + "Microsoft.AspNetCore.Http.Features.dll": "sha256-FqynCxJIAFP87+e4Owcnof+wGPO0I252Y6LvqQocfE8=", + "Microsoft.AspNetCore.Metadata.dll": "sha256-N916K5tRmgm9i7g2SCsaiW2VXHOr3+rPvRl4AaV8bJA=", + "Microsoft.AspNetCore.SignalR.Client.dll": "sha256-2Ux7iHwbpedN2AKONwAhwzFNvy4Bec8zoUUsn0wcF8Q=", + "Microsoft.AspNetCore.SignalR.Client.Core.dll": "sha256-TjI\/u1UkHtW3zLTCROG1aDQsCpNl3i6xTjo5AET\/DoU=", + "Microsoft.AspNetCore.SignalR.Common.dll": "sha256-jRtJRD4ntjIk1KDsGb7BpPJbDjL4Z4p4R64RJLaTXfk=", + "Microsoft.AspNetCore.SignalR.Protocols.Json.dll": "sha256-w0BnA4q47skhCr1g\/7BmxT4YnTfOJCmP0kGXjqhiUlA=", + "Microsoft.Extensions.Configuration.dll": "sha256-x9zYR1t1is\/fStNpBiQnXyPdMpLLcQcra3w4RXGSg4o=", + "Microsoft.Extensions.Configuration.Abstractions.dll": "sha256-NYecKM0ZpUvzj4spvgi6xUu80rkx8PX7fiRok\/BNaHw=", + "Microsoft.Extensions.Configuration.Binder.dll": "sha256-JFLIykah3r5WjvztBuVIaMM9wfVswDM+On6k\/QVgeeg=", + "Microsoft.Extensions.Configuration.FileExtensions.dll": "sha256-5tCmu87qBh0Xgsp\/dG\/x9WHctz\/J8YBmCHjt+PA6dn0=", + "Microsoft.Extensions.Configuration.Json.dll": "sha256-OM0kYGXmRhgJOUP2Vf86pt4Ss7QB2\/fLPtfL4+p0Xz8=", + "Microsoft.Extensions.DependencyInjection.dll": "sha256-W\/Xy5S\/Zin\/Xx5oGhOYdTkJLd1mRSie5cNH7qKtU7ZA=", + "Microsoft.Extensions.DependencyInjection.Abstractions.dll": "sha256-D9y5RXbA\/sEzwk6cnGbGMKQv87bvOEEVycrLUTe0lGU=", + "Microsoft.Extensions.FileProviders.Abstractions.dll": "sha256-aUKLFqSgB\/hwZc41dLVKoRSKRghShpfQPVMhoRzpz5M=", + "Microsoft.Extensions.FileProviders.Physical.dll": "sha256-Cvhy7j568oPzBQKhakMhNkDr5tQBxE0LaY1wukd0Ll0=", + "Microsoft.Extensions.FileSystemGlobbing.dll": "sha256-xrpMDo35bgwz\/m\/kwUvL9SAOxyEgSSwO57RiuhILHgI=", + "Microsoft.Extensions.Logging.dll": "sha256-VlsKv5zXgdK0MrYHXr9XlUCXwuwNI7AUI\/C1PEFXcz4=", + "Microsoft.Extensions.Logging.Abstractions.dll": "sha256-9UNtwDMFW86VtnTtJFk9xcc1hCnXFGXccFv3SkbgYy0=", + "Microsoft.Extensions.Options.dll": "sha256-YfK6Zl0RmlJUqBJD7Khy7u4HEW2DRne0VSiqA6Yqs0U=", + "Microsoft.Extensions.Primitives.dll": "sha256-XNHVw5siarTMMQ009PdQgD7MrQ0iqnJ92cJOWSSE1vs=", + "Microsoft.JSInterop.dll": "sha256-mRffHozNFUjXcRwKwhI6uwe6e9V5dMFtp46knThTofY=", + "Microsoft.JSInterop.WebAssembly.dll": "sha256-CUVDXn7tZbnOjcP3RCv7qo06kRLU82YzLqw07Ijzexc=", + "System.IO.Pipelines.dll": "sha256-3ET+mpR7F058YRj9YaLHOVXBqOW6iUxtIpeiKPYw4PA=", + "Microsoft.CSharp.dll": "sha256-Kw+wGv3G\/DSJHX+IG2hjFGrfS5OtNlPeQoOk1VDaK9M=", + "Microsoft.VisualBasic.Core.dll": "sha256-C9sQ2gUXqiEx3atRvdSQtbcRzLaIeVah5iyS6\/LMuLs=", + "Microsoft.VisualBasic.dll": "sha256-e91QiAiZn6USNnd73M5x+jkQb5a0WnpPpwLKEMGrMDo=", + "Microsoft.Win32.Primitives.dll": "sha256-3QjpUdYj9qqoSKsAqVGramg\/jrhc+bq13y4D29zbkx4=", + "Microsoft.Win32.Registry.dll": "sha256-rr+vDybHalxUQptbxPVzEdL1PgSrBySwlInLgh9vykk=", + "System.AppContext.dll": "sha256-HENyE9QJCJlLtMqlrqb1LMXfv7Dfw6yECwwXOkm7Lxs=", + "System.Buffers.dll": "sha256-URC7Qss0Dzf1aoZgf4w0rffOWQGvEFCIoMsRdh3V6Uw=", + "System.Collections.Concurrent.dll": "sha256-TeOnRu4HK3Q3LCJrBXKm8IsVONe5OukD7NVGHqB3H84=", + "System.Collections.Immutable.dll": "sha256-NRIg3HI5pMh6xGqvyTbiIkaXxYl6ezdVsRfJVg4S5f4=", + "System.Collections.NonGeneric.dll": "sha256-D88XMjOypv+f\/9swp6dCBuYxqjIEl5XbP7fp97UB5jg=", + "System.Collections.Specialized.dll": "sha256-oMlpYZt7T0X9s3PxwwtGt100LshWjDOhnoMSaXPcVjw=", + "System.Collections.dll": "sha256-AdkeMP2slNX82gNv8Bya0qLUCa7i\/+hVZXz3Hq6Y4zQ=", + "System.ComponentModel.Annotations.dll": "sha256-YDbgBqpx34WokQq7+zg4VUZYeIvZ\/SGVGoN8j\/NRQps=", + "System.ComponentModel.DataAnnotations.dll": "sha256-J9ix6zqfB7q79q2D2l6V1Fu0YnooQxSSeBdhTrmNzFI=", + "System.ComponentModel.EventBasedAsync.dll": "sha256-V2Fy9d\/YA\/BZMnh\/VZd+tEuOF1PZx6vlzQI1pYn6XzM=", + "System.ComponentModel.Primitives.dll": "sha256-xtpZtGTD1tlmWsyIQEmd45Sh2fLUXjezvSMngxI8aaE=", + "System.ComponentModel.TypeConverter.dll": "sha256-kZtNPcdjZxIORKlMe\/jaTRphn1TVRlcJKuaqpyaxiDI=", + "System.ComponentModel.dll": "sha256-+Z5AJrJC2ebFgy1t568FL8Ski11UiRzJ7hue0JgowF8=", + "System.Configuration.dll": "sha256-18\/V6eIIPOeD+Wt3fxAj2MnTWvFbEo7zEKOfIEEIKCU=", + "System.Console.dll": "sha256-O+BiYPTT8NxpdgUaWNnusaplWXvnGBZ0et5NHl18DSo=", + "System.Core.dll": "sha256-9hGIe4PPfjopd\/bo2+s0Sx+W5gMz+efA19bIdjRXwEs=", + "System.Data.Common.dll": "sha256-hhunbW9U\/3332BGfx6TF8RK8bSFiNhI4wQYlE6Jr7ZM=", + "System.Data.DataSetExtensions.dll": "sha256-K0pwRrs37q6t2nI44FwFaI9LCWHypAK7SR9nfRnFcrE=", + "System.Data.dll": "sha256-VNOQoV\/Xw4Dnn0+IZVxVEgRBxlnW9BQMdg7okrtu+e0=", + "System.Diagnostics.Contracts.dll": "sha256-iF8U53C2\/mVv3oraT7VMpIPg5kOUygHiFWoMX\/UW\/EU=", + "System.Diagnostics.Debug.dll": "sha256-MtaI8SxesfhD9E6ist5n6HGozUS87hiBEqLL1WxhxGY=", + "System.Diagnostics.DiagnosticSource.dll": "sha256-e7e7DjGy2oYw8FJp26zLwcBGY5Nc8NAdQ3Kl90cfxiw=", + "System.Diagnostics.FileVersionInfo.dll": "sha256-kQucWwey1joecvRyg1EKvTnBU\/KnrpUfvGP\/BVVuQRY=", + "System.Diagnostics.Process.dll": "sha256-UZXL2VA26JOyeCJo8VL3XO2RIMdAaUsoveORo1MQWOo=", + "System.Diagnostics.StackTrace.dll": "sha256-wejFH1fYoFhBaBa2DZJJUpRJ9gZOeBY4q5KHNf6C3yI=", + "System.Diagnostics.TextWriterTraceListener.dll": "sha256-DM4dTFBFME7hJwc5gFete5V4Xs7O7DZpAv+gMlKrcqI=", + "System.Diagnostics.Tools.dll": "sha256-ZFqLMF5dnIBs2iG4r4KqmWgGCZ+wudnJfM9ZDLPJQ7M=", + "System.Diagnostics.TraceSource.dll": "sha256-lccblJ2w\/agsTBBmzHPRDqPQXs55onfpuFk5au6a9hM=", + "System.Diagnostics.Tracing.dll": "sha256-UcyTH5A+sk29LBRMrxz8DIJe+Mq6N2iFISFh24ClFFA=", + "System.Drawing.Primitives.dll": "sha256-7wrdm9h5Sf3GYhXsvdXjot4UMi8PrikX012zhYekics=", + "System.Drawing.dll": "sha256-KZok5eVvkLZlFNqNMv2+McOUU+PiVnY+bkkCYbnpc7c=", + "System.Dynamic.Runtime.dll": "sha256-Ym3XPFlMjCMYHhUqzB5FzB0nz3lNL8Q9mwDNEzubIqQ=", + "System.Formats.Asn1.dll": "sha256-rGQvtG6hQQTqpPiVSi3bJpzLVXs3mVxR+tjS4p43q0E=", + "System.Globalization.Calendars.dll": "sha256-ioU3LUUHfxo7PFd46HrM9uGzMs6lJ7INDyVLyL9XH1M=", + "System.Globalization.Extensions.dll": "sha256-OYNL6hUzgqkF8\/pBQ9Gv89LvAlu04WL6PfT4E8NEedM=", + "System.Globalization.dll": "sha256-6rPn2p7ImpV1XGJRyoRgL\/bk2+nm06C42j82xGU0Jbo=", + "System.IO.Compression.Brotli.dll": "sha256-w0+4sB928Bs3A+wIuqvujCgDP5h9\/eDGodjhuqlTPyk=", + "System.IO.Compression.FileSystem.dll": "sha256-jDcmsev7xeSmvsNT6DI6LQvy7980seX7426738tOEqA=", + "System.IO.Compression.ZipFile.dll": "sha256-eib8YtdBRO9STMSOqBWTrUW0pVbrOssEgDoP7F8wBIE=", + "System.IO.Compression.dll": "sha256-9+ej5i9kOcjMozvYIqL0MHgKcKJeqU9lITDX3tg70wg=", + "System.IO.FileSystem.AccessControl.dll": "sha256-MCuFx7bOQdo1Om5mPnW0lhBGXgxiDtf7AapOGglGhlI=", + "System.IO.FileSystem.DriveInfo.dll": "sha256-NHy5fClbzOZwH9hV4PBxcMzWwO0oV5A2b8D6diAwAc0=", + "System.IO.FileSystem.Primitives.dll": "sha256-mjx07dWNTld4hdtSSh2WfCseLoOj7TPJ5WjCSuDbu\/Q=", + "System.IO.FileSystem.Watcher.dll": "sha256-68EbJg4Zrb23OxtwV+5hnyX9W1UUPDzMhbNmjAi\/WKA=", + "System.IO.FileSystem.dll": "sha256-zMqCGfG+spcgS5XY2ibnSgX5y0PSFcZZ0RMDdEE3mqo=", + "System.IO.IsolatedStorage.dll": "sha256-nsbKm8WG7WCjgQX\/\/S+qIlVY+Zly8scgfVJIpxv9FCc=", + "System.IO.MemoryMappedFiles.dll": "sha256-sjByMM0Ok\/S2aW8S7EZU2WkXTVGdsSWTN6U7SK3k\/DM=", + "System.IO.Pipes.AccessControl.dll": "sha256-u38U3IEBnkbEYQa4yRhUZJltWFfq\/+a0jNu2x1t0o64=", + "System.IO.Pipes.dll": "sha256-BUVzFQLAN+hCPpjQNSkHwUCwo2HNtCJg7TajYDdIP74=", + "System.IO.UnmanagedMemoryStream.dll": "sha256-UWZ2HQp8iFfBm7ck8aSOWKdaflS48i\/a9QkEggStqCI=", + "System.IO.dll": "sha256-O\/s84bbwx8Wu+0MMnep44pvk0sxtYI7A9Xmtw0Cy4hE=", + "System.Linq.Expressions.dll": "sha256-kYczWuk6ALvT\/wKj0sqWHUdUdGTxA49d0Wev0NtBR7s=", + "System.Linq.Parallel.dll": "sha256-8KdHAHrD\/hoeJcwht6vsRZiOJnIMR3ho3BX6VG+Z22E=", + "System.Linq.Queryable.dll": "sha256-Jg8gDwMgz59vd4ywPMdafI1F0QGpvNxwRyclhFsgwvI=", + "System.Linq.dll": "sha256-JuK1FXeOqEB\/njVYluvAKoLdidObl6wdsRbFlMXs24s=", + "System.Memory.dll": "sha256-mhHBR6+4iLpZsnJLF7\/Rphseyff0aJSaJ5VFORS\/97Y=", + "System.Net.Http.Json.dll": "sha256-\/klU7o0D8b7y+c8+ALZbIvK7w2bpbHkP+XNzeNOmvyE=", + "System.Net.Http.dll": "sha256-TyVe8gmyNDJzL\/xsJI66A1y5grO2TEgGDDZz7AeLSh8=", + "System.Net.HttpListener.dll": "sha256-rEnx8GzQCNU8Go\/G3MAuofrtMbcj1fEYe8pgk++pdLk=", + "System.Net.Mail.dll": "sha256-aVQfzIyBpF\/Htk+tlVOSSvpHXlRdzdtXAj9gLWXqgZo=", + "System.Net.NameResolution.dll": "sha256-bMNjQ7Yjciuk7YFf4lmtgxllODPsaRIeWAWd3eP0Sl4=", + "System.Net.NetworkInformation.dll": "sha256-NE5mvaQjp9zx62EJZhoxY42Lpk4hrlqNYXawzxy3CK0=", + "System.Net.Ping.dll": "sha256-A0H\/SuPpWYqo5I5f4Lio1KBiTrUnPiSG2ZzEhjuQALA=", + "System.Net.Primitives.dll": "sha256-kA2xITIc\/mw6C1fVDTp\/lVEZAsdru9+Lr31+Mm2rDiA=", + "System.Net.Requests.dll": "sha256-C4Db\/1p3JFANZYORFkWYYFnhwAy7Jus9BFZMlV4ioJI=", + "System.Net.Security.dll": "sha256-C6ysbdq8ca7JXVEu7i6MOxDwerQSYgNzA3gVi+OZMXM=", + "System.Net.ServicePoint.dll": "sha256-d5890bIZfcuu1+MNT30lYdh5Vcuf87MPSmU2P4uZ18c=", + "System.Net.Sockets.dll": "sha256-TXHzvEPphQjknpV308VL5cTAhmw9H0gnUtcw\/5LIlto=", + "System.Net.WebClient.dll": "sha256-vlvwUlaO9tGhlE7etCfkkPQR55n+VBjM2Ny\/cwdO5fs=", + "System.Net.WebHeaderCollection.dll": "sha256-Tr7JIpx+29PDyD1cIbdDoqB9miC1WW95avibXDUBJHI=", + "System.Net.WebProxy.dll": "sha256-xc39R5SAR3uGvH8ghJlZGK7roQwzyaj\/FR+2doloCBE=", + "System.Net.WebSockets.Client.dll": "sha256-kU18wQBGY3DsX\/rZH9g62y26NMBUdoXb8dLOXYGmQi0=", + "System.Net.WebSockets.dll": "sha256-wAuRSZviKGk63vl3E3d3BkH2PLjt\/rweE3boBE+0Qio=", + "System.Net.dll": "sha256-Rz21LKeqJdFF3aIBxkKSg+fpWmugi1\/61as0S2lhmDU=", + "System.Numerics.Vectors.dll": "sha256-4RV+PWCLg7QzsaQ\/AoNeTemPr6JwgzGWjLRXlIJQPr4=", + "System.Numerics.dll": "sha256-vY7S1XFil5ekOVi4vnd0okYC7Tk+fO0Xv3NciLlE3cg=", + "System.ObjectModel.dll": "sha256-6Pdb+V3NUqNJWUBYADUA6WpphkmfBnfvGIPFNw4VR5I=", + "System.Private.DataContractSerialization.dll": "sha256-hwZ1ng9JQJjwOri0Rcw29gQQnJusH9gUB8jp8l6bqb0=", + "System.Private.Runtime.InteropServices.JavaScript.dll": "sha256-DuJLILq2OKaP0N\/\/KSd+sA5Fz2rdGdF+Q5vmUwEExfo=", + "System.Private.Uri.dll": "sha256-fdnA0Jd4frhEv8zrrQVPswN2S0r3E1IA3PzeQPa0FRc=", + "System.Private.Xml.Linq.dll": "sha256-IzRoPs3FfN8n7DssMLb8m7NtmpyxnFFMmvp6g2xJPeQ=", + "System.Private.Xml.dll": "sha256-+bEkL5c2\/fP+Uncb9RnoceDNgWiJVXFcKkz0fXk3TCc=", + "System.Reflection.DispatchProxy.dll": "sha256-Pv0HLMvvRS5twDFeRAOVIxigUYCkImc3cJV82GDVasw=", + "System.Reflection.Emit.ILGeneration.dll": "sha256-xLsgRW3cBjVfntIkO5AEONSIhfg8xVQmvRbdvIPdR3w=", + "System.Reflection.Emit.Lightweight.dll": "sha256-mQ3IUahajjFyWPBFkvmbGPrAkhrxumkGrXHNTtSC1PM=", + "System.Reflection.Emit.dll": "sha256-QJQXF1ZWNMC8yTmgfTJZQvSwlY6C1vRFB+qHfGkMaqg=", + "System.Reflection.Extensions.dll": "sha256-mlvXIwX65ORSCWK5vIeq03NZQ42MmbObB6R9gXeLVDo=", + "System.Reflection.Metadata.dll": "sha256-c3el1M7MjeOmi5kysUhRfqvz1yYxAFFv6GaJeivo+So=", + "System.Reflection.Primitives.dll": "sha256-owiT7mPNLk2RokFnIlxruXhiptyaiPztwKI8nntufQ8=", + "System.Reflection.TypeExtensions.dll": "sha256-Of0qY7fqXjEzqJGExEHQ\/prKSnAK5K66bYyc90oEjUI=", + "System.Reflection.dll": "sha256-7YtWJ5yrbb3ATJrMeYQQJAucQJlNeNjg2VB2gjkEeX4=", + "System.Resources.Reader.dll": "sha256-sTS+gyaW2zxotPsTGdnHTiKiheJd8Uukk0V0XOmDnKQ=", + "System.Resources.ResourceManager.dll": "sha256-ACMC8v\/TjuyinqXBx0501CXZNlg1uCnd9\/2VwdpAI1U=", + "System.Resources.Writer.dll": "sha256-h1vcMukxtBVJYTyO84AxYPkjU1MWQifE6o7GN\/pcnyk=", + "System.Runtime.CompilerServices.Unsafe.dll": "sha256-N0A1lnH9FtZMcNVHQLpbNZX0ZqEOIlL0SyxIemYhCYc=", + "System.Runtime.CompilerServices.VisualC.dll": "sha256-1NkTBl+cbeR2nZEvRaE0GGKqpqpl5iPo9w2P89XfJZw=", + "System.Runtime.Extensions.dll": "sha256-\/KGMF3s7QgWIy5XEi0lB6q111pZjVwWkEtkLEqZYiJQ=", + "System.Runtime.Handles.dll": "sha256-Si4yUnDK4NywtgyJcdCwi\/eHchdfdP1op8C5vcg+JM4=", + "System.Runtime.InteropServices.RuntimeInformation.dll": "sha256-M12r8mYGMGQp40X6FKFrOPTfuiopbb\/AbCxjbs8VqEs=", + "System.Runtime.InteropServices.dll": "sha256-+qp3Gv0iUJxNmQGkcxJrXTNOBieGdUNGFrU9ymOSK30=", + "System.Runtime.Intrinsics.dll": "sha256-MuOHB\/+R3vu8WgoYqXCjcS345DOTVqCgey3U7izOZ\/I=", + "System.Runtime.Loader.dll": "sha256-qabcD2gptwOcDiiAbTgKQ8t5+BkOPnSCsI1OsOluxkU=", + "System.Runtime.Numerics.dll": "sha256-xTY7\/ViSGAsRK3XLvRFiRKqO8ewqDS5AG6F0zExO7U0=", + "System.Runtime.Serialization.Formatters.dll": "sha256-4NqCpjvSujcPqNM8LXa8sZ4LZSTEeXvpGnZ2fifGLag=", + "System.Runtime.Serialization.Json.dll": "sha256-XTNMVbT+86S9bdgl2VC+jDLmKamp7s0BNfuufJ\/ULj8=", + "System.Runtime.Serialization.Primitives.dll": "sha256-TU1vwIvywCTQln\/5p3cDGz4KrlkcdJWMTLFyuwFNT0Q=", + "System.Runtime.Serialization.Xml.dll": "sha256-yrN9ziEK7pl4QmLjJziMi9uortno30ohJdznJZmLenw=", + "System.Runtime.Serialization.dll": "sha256-qaKayr8mHS2Jg7vVcrkFTs4\/mjbtpMb9knfUVRKjDzE=", + "System.Runtime.dll": "sha256-75SUxg20YuYfv5zcbV2QidTjhkwcBpyktFFGyw6DOnY=", + "System.Security.AccessControl.dll": "sha256-CRnJFK7TtsgYAFRjpWDcHjP6X08NRBTImc82GjFYGXo=", + "System.Security.Claims.dll": "sha256-kZs0g0bsdwbQNfqza7gZP+DcbeQpz+\/ypDHYLGinqsA=", + "System.Security.Cryptography.Algorithms.dll": "sha256-7BoO95sVCX4z5M0LhYLDKvMKEFk7DXaZy2ifPTRTsPs=", + "System.Security.Cryptography.Cng.dll": "sha256-ZDbxQ+RAF6koFGbJBNGcU\/lHV6PcpgVTPKonTQq5Zyk=", + "System.Security.Cryptography.Csp.dll": "sha256-7YUV6iZRodJ3osdr\/+TS7Aql98iE6\/DfHdsbtYPXwZQ=", + "System.Security.Cryptography.Encoding.dll": "sha256-3Y7RTiXbGdrEGYlZ1dZCJvC9mU3RwYuvbNPGzR7dehY=", + "System.Security.Cryptography.OpenSsl.dll": "sha256-Lhs13p16nh2IX1zUAkpVPAQEK\/ZvxFuUyK\/sqZkBB7U=", + "System.Security.Cryptography.Primitives.dll": "sha256-qcL3iW3uReMVunlP0t9upiVuecAuDVwnIJ\/c721nGA4=", + "System.Security.Cryptography.X509Certificates.dll": "sha256-AgQKNAYCPs9V\/pGqbkhxzY+irUQOgyCt\/JAZhTAdCxc=", + "System.Security.Principal.Windows.dll": "sha256-oA4OoS89b4xmVwZzfCmCpf+H87NkZyumRJk99L7erS8=", + "System.Security.Principal.dll": "sha256-FKYvO2fOuKjgGMpG86HTrIA1d2Bgnk3tqUlqKgnqawg=", + "System.Security.SecureString.dll": "sha256-6k96WrN4aVwaUk4ZUG8CNjrO78P0dBUFqfJbz7l3Co8=", + "System.Security.dll": "sha256-0cLmgATY\/8Pldy5ejzJ9y47kWwUrLMIIXzT\/z\/7q\/+E=", + "System.ServiceModel.Web.dll": "sha256-hijoWlzP3aTKwYAJO+6Ptc4hgV+cAuUvS9tZWskFOoE=", + "System.ServiceProcess.dll": "sha256-8zTkelYa4xOMRDJg\/ZCZsxP6MGZ8\/TDiB6Uu\/WsgIJ0=", + "System.Text.Encoding.CodePages.dll": "sha256-KgMmbqlhkXeTUA+HCX+s2pPCzKZu3xbaAs8FySodDac=", + "System.Text.Encoding.Extensions.dll": "sha256-H4RjVtRyXZaXXN8L2wLeckiEL4LZ71yOpWu+KgTrvqY=", + "System.Text.Encoding.dll": "sha256-5cU5hdJgVxeXMLqFtpWmo739\/a+YRBSG6TDM4r5hgrY=", + "System.Text.Encodings.Web.dll": "sha256-wHEoqdWibkuwvMVqf8osbpE5FxhJafBBPIqILNqyt2Q=", + "System.Text.Json.dll": "sha256-HIr33BpFiQ8I1RHSbVTpZMI7Ddf5FMU4ZthYJYg5bKU=", + "System.Text.RegularExpressions.dll": "sha256-0ZFrj50OteqhAHtroVW8H6Z+GCt7caLfxRcZqTBsdLQ=", + "System.Threading.Channels.dll": "sha256-Q2ll7jXghQ\/dzo3bwWaON8463N7OoUW3O\/GYNp62lVw=", + "System.Threading.Overlapped.dll": "sha256-N\/wLMV\/l2J7UaEvAGPGPcSZyS4FjMLNn4CtTDl6PCj4=", + "System.Threading.Tasks.Dataflow.dll": "sha256-dGqAD7\/QS6jug4sHaA9YXchyOns6QAkIcabIEy6CtuA=", + "System.Threading.Tasks.Extensions.dll": "sha256-+b0o4rtTYOw\/+tNUCHNDm+ikFVwSU2MA1z\/R2SamTCA=", + "System.Threading.Tasks.Parallel.dll": "sha256-Lb2daIT8ueHuKlAoXAculjumkdJMLw7wMAMwdh3Xbvg=", + "System.Threading.Tasks.dll": "sha256-gk1DViVpVZk5twsqpPmAK5NL7tNAKXm82pCPVWdF2Y8=", + "System.Threading.Thread.dll": "sha256-AmCsNMRhuzJydTwVt3jeZBgiVgXPBPasfp\/\/MyG2MWY=", + "System.Threading.ThreadPool.dll": "sha256-5wJdEa4Swj\/sq1E3zdR7bGSm\/vfTqkXz9je5V0uAk1Q=", + "System.Threading.Timer.dll": "sha256-cBwK4rB\/AdgwNt4MyKJw4S3LEB9dD8f5BYWMN+ltHQM=", + "System.Threading.dll": "sha256-LHq+r38YCX97Zv0Bxl5bDvpg5h5u9o4AHk09Jt1bLWo=", + "System.Transactions.Local.dll": "sha256-55B0daiRvdikN2eSK5J6IB\/B6FaZyTOH8Iv63Do\/9cs=", + "System.Transactions.dll": "sha256-raHSpj4V+n9dk29V62ltUEkAoJURguP\/uo2WVeHTNSM=", + "System.ValueTuple.dll": "sha256-wJkMt64mJr96awu+s+rDY1qRYSJv8S7YuBSPFZdgR4o=", + "System.Web.HttpUtility.dll": "sha256-r0fEECGcjPB0H7M3TSznjViJ2rKKeImJ86\/vxthlm8o=", + "System.Web.dll": "sha256-19oNWnFxPurul4k27lYKGs2YVAkr1iCcCKwYbkNemJ8=", + "System.Windows.dll": "sha256-J8SjE3dExjmcOf0hXeooBjAsT\/P0pOw3ocYFyda+A4g=", + "System.Xml.Linq.dll": "sha256-PL89j\/ylIC81KivxC3u+as+iijSRyoK5wbea5yz\/ueQ=", + "System.Xml.ReaderWriter.dll": "sha256-aD+PTsPUOJyra+8XwYyYfCyXWp6oRlVC4rU+VwkROX0=", + "System.Xml.Serialization.dll": "sha256-jdeA6te4dG97CvNr58piBQ5W4VPk3BCAi0Fhg4hBnqQ=", + "System.Xml.XDocument.dll": "sha256-a5fSx8i6VACd0u79xqRAq7cUTq+aJVtAaTpm+wtmMME=", + "System.Xml.XPath.XDocument.dll": "sha256-9vFZzpmVI1RX0maD06jvPAk3M6W0QwYWDI+MBwYF3O0=", + "System.Xml.XPath.dll": "sha256-dFYeEQPTUsb89I\/55H\/rHp74P07cu0EYkyZbTUO7kac=", + "System.Xml.XmlDocument.dll": "sha256-1iaSr9sPWh8MlPqzbAUx8Z4L2C1mRBt137176fz8NhM=", + "System.Xml.XmlSerializer.dll": "sha256-iZ8G4NG8GAjZk8qKSGzHk+NOMwcBvHv7nUbLOCLvUic=", + "System.Xml.dll": "sha256-4enYdwxsPFPkNtGAPtRc1mOjS7l\/wu4A6CTKpC\/zezI=", + "System.dll": "sha256-Q1lYsmZqcyZMyBKri8FBo8WTwEo1aol7QIQOUM2kMoM=", + "WindowsBase.dll": "sha256-CWGiUApyHV2i7KNclnDOD1bcDBz0ldAIWwdnwlJ1OfM=", + "mscorlib.dll": "sha256-CUpudhojlkcrp2dsiJFF\/H\/WNg+uAhzoGkSWfOta\/U0=", + "netstandard.dll": "sha256-vJpyW6cE\/+ewo5rVB5JUu9x2f8aLnqoIazac8ef5FzQ=", + "System.Private.CoreLib.dll": "sha256-CvQTDivHJZAtRXyCbDa5f5+okJt39WRFrZSmXTMSau0=", + "spanreed.Shared.dll": "sha256-Yv74Lb\/1n9mc4JbbDxEKVyhycTD3vZcUMZgK21dGZHg=", + "spanreed.Client.dll": "sha256-3OSfuUEBqqJQlKtMBPg+rhPO4foG5v4dQxI+f15\/3fw=" + }, + "lazyAssembly": null, + "pdb": { + "spanreed.Shared.pdb": "sha256-MgsC4uJ47WdD7\/qfBDBHyh2yw70+dV8JwKhKRKTo318=", + "spanreed.Client.pdb": "sha256-EvYRugoe99mcRONFtv17jiBFpZqJB3Q7uFsd89s+QuY=" + }, + "runtime": { + "dotnet.timezones.blat": "sha256-2OdnPsDgJyoSaSlvebGMRd2MxC+4UIqparqVrQZAFDE=", + "dotnet.wasm": "sha256-YXYNlLeMqRPFVpY2KSDhleLkNk35d9KvzzwwKAoiftc=", + "icudt.dat": "sha256-m7NyeXyxM+CL04jr9ui1Z6pVfMWwhHusuz5qNZWpAwA=", + "icudt_CJK.dat": "sha256-91bygK5voY9lG5wxP0\/uj7uH5xljF9u7iWnSldT1Z\/g=", + "icudt_EFIGS.dat": "sha256-DPfeOLph83b2rdx40cKxIBcfVZ8abTWAFq+RBQMxGw0=", + "icudt_no_CJK.dat": "sha256-oM7Z6aN9jHmCYqDMCBwFgFAYAGgsH1jLC\/Z6DYeVmmk=", + "dotnet.5.0.8.js": "sha256-cUOztblhuGlkjvgM72ql0e2NRuVqwW32qti8huxzYXs=" + }, + "satelliteResources": null + } +} \ No newline at end of file diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.webassembly.js b/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.webassembly.js new file mode 100755 index 0000000..1c328b0 --- /dev/null +++ b/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.webassembly.js @@ -0,0 +1 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=58)}([,,,function(e,t,n){"use strict";var r;n.r(t),n.d(t,"DotNet",(function(){return r})),function(e){var t;window.DotNet=e;var n=[],r=function(){function e(e){this._jsObject=e,this._cachedFunctions=new Map}return e.prototype.findFunction=function(e){var t=this._cachedFunctions.get(e);if(t)return t;var n,r=this._jsObject;if(e.split(".").forEach((function(t){if(!(t in r))throw new Error("Could not find '"+e+"' ('"+t+"' was undefined).");n=r,r=r[t]})),r instanceof Function)return r=r.bind(n),this._cachedFunctions.set(e,r),r;throw new Error("The value '"+e+"' is not a function.")},e.prototype.getWrappedObject=function(){return this._jsObject},e}(),o={},i=((t={})[0]=new r(window),t);i[0]._cachedFunctions.set("import",(function(e){return"string"==typeof e&&e.startsWith("./")&&(e=document.baseURI+e.substr(2)),import(e)}));var a,s=1,u=1,c=null;function l(e){n.push(e)}function f(e){var t;if(e&&"object"==typeof e){i[u]=new r(e);var n=((t={}).__jsObjectId=u,t);return u++,n}throw new Error("Cannot create a JSObjectReference from the value '"+e+"'.")}function d(e){return e?JSON.parse(e,(function(e,t){return n.reduce((function(t,n){return n(e,t)}),t)})):null}function p(e,t,n,r){var o=m();if(o.invokeDotNetFromJS){var i=JSON.stringify(r,E),a=o.invokeDotNetFromJS(e,t,n,i);return a?d(a):null}throw new Error("The current dispatcher does not support synchronous calls from JS to .NET. Use invokeMethodAsync instead.")}function h(e,t,n,r){if(e&&n)throw new Error("For instance method calls, assemblyName should be null. Received '"+e+"'.");var i=s++,a=new Promise((function(e,t){o[i]={resolve:e,reject:t}}));try{var u=JSON.stringify(r,E);m().beginInvokeDotNetFromJS(i,e,t,n,u)}catch(e){v(i,!1,e)}return a}function m(){if(null!==c)return c;throw new Error("No .NET call dispatcher has been set.")}function v(e,t,n){if(!o.hasOwnProperty(e))throw new Error("There is no pending async call with ID "+e+".");var r=o[e];delete o[e],t?r.resolve(n):r.reject(n)}function y(e){return e instanceof Error?e.message+"\n"+e.stack:e?e.toString():"null"}function b(e,t){var n=i[t];if(n)return n.findFunction(e);throw new Error("JS object instance with ID "+t+" does not exist (has it been disposed?).")}function g(e){delete i[e]}e.attachDispatcher=function(e){c=e},e.attachReviver=l,e.invokeMethod=function(e,t){for(var n=[],r=2;r0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&!t)throw new Error("New logical elements must start empty, or allowExistingContents must be true");return r in e||(e[r]=[]),e}function s(e,t,n){var i=e;if(e instanceof Comment&&(c(i)&&c(i).length>0))throw new Error("Not implemented: inserting non-empty logical container");if(u(i))throw new Error("Not implemented: moving existing logical children");var a=c(t);if(n0;)e(r,0)}var i=r;i.parentNode.removeChild(i)},t.getLogicalParent=u,t.getLogicalSiblingEnd=function(e){return e[i]||null},t.getLogicalChild=function(e,t){return c(e)[t]},t.isSvgElement=function(e){return"http://www.w3.org/2000/svg"===l(e).namespaceURI},t.getLogicalChildrenArray=c,t.permuteLogicalChildren=function(e,t){var n=c(e);t.forEach((function(e){e.moveRangeStart=n[e.fromSiblingIndex],e.moveRangeEnd=function e(t){if(t instanceof Element)return t;var n=f(t);if(n)return n.previousSibling;var r=u(t);return r instanceof Element?r.lastChild:e(r)}(e.moveRangeStart)})),t.forEach((function(t){var r=t.moveToBeforeMarker=document.createComment("marker"),o=n[t.toSiblingIndex+1];o?o.parentNode.insertBefore(r,o):d(r,e)})),t.forEach((function(e){for(var t=e.moveToBeforeMarker,n=t.parentNode,r=e.moveRangeStart,o=e.moveRangeEnd,i=r;i;){var a=i.nextSibling;if(n.insertBefore(i,t),i===o)break;i=a}n.removeChild(t)})),t.forEach((function(e){n[e.toSiblingIndex]=e.moveRangeStart}))},t.getClosestDomElement=l},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(29),n(20);var r=n(30),o=n(13),i={},a=!1;function s(e,t,n){var o=i[e];o||(o=i[e]=new r.BrowserRenderer(e)),o.attachRootComponentToLogicalElement(n,t)}t.attachRootComponentToLogicalElement=s,t.attachRootComponentToElement=function(e,t,n){var r=document.querySelector(e);if(!r)throw new Error("Could not find any element matching selector '"+e+"'.");s(n||0,o.toLogicalElement(r,!0),t)},t.getRendererer=function(e){return i[e]},t.renderBatch=function(e,t){var n=i[e];if(!n)throw new Error("There is no browser renderer with ID "+e+".");for(var r=t.arrayRangeReader,o=t.updatedComponents(),s=r.values(o),u=r.count(o),c=t.referenceFrames(),l=r.values(c),f=t.diffReader,d=0;d0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]>2]}t.monoPlatform={start:function(e){return new Promise((function(t,n){var l,f;s.attachDebuggerHotkey(e),window.Browser={init:function(){}},l=function(){window.Module=function(e,t,n){var l=this,f=e.bootConfig.resources,d=window.Module||{},p=["DEBUGGING ENABLED"];d.print=function(e){return p.indexOf(e)<0&&console.log(e)},d.printErr=function(e){console.error(e),u.showErrorNotification()},d.preRun=d.preRun||[],d.postRun=d.postRun||[],d.preloadPlugins=[];var m,w,_=e.loadResources(f.assembly,(function(e){return"_framework/"+e}),"assembly"),E=e.loadResources(f.pdb||{},(function(e){return"_framework/"+e}),"pdb"),I=e.loadResource("dotnet.wasm","_framework/dotnet.wasm",e.bootConfig.resources.runtime["dotnet.wasm"],"dotnetwasm");if(e.bootConfig.resources.runtime.hasOwnProperty("dotnet.timezones.blat")&&(m=e.loadResource("dotnet.timezones.blat","_framework/dotnet.timezones.blat",e.bootConfig.resources.runtime["dotnet.timezones.blat"],"globalization")),e.bootConfig.icuDataMode!=c.ICUDataMode.Invariant){var C=e.startOptions.applicationCulture||navigator.languages&&navigator.languages[0],N=function(e,t){if(!t||e.icuDataMode===c.ICUDataMode.All)return"icudt.dat";var n=t.split("-")[0];return["en","fr","it","de","es"].includes(n)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(n)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(e.bootConfig,C);w=e.loadResource(N,"_framework/"+N,e.bootConfig.resources.runtime[N],"globalization")}return d.instantiateWasm=function(e,t){return r(l,void 0,void 0,(function(){var n,r;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),[4,I];case 1:return[4,y(o.sent(),e)];case 2:return n=o.sent(),[3,4];case 3:throw r=o.sent(),d.printErr(r),r;case 4:return t(n),[2]}}))})),[]},d.preRun.push((function(){i=cwrap("mono_wasm_add_assembly",null,["string","number","number"]),MONO.loaded_files=[],m&&function(e){r(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return t="blazor:timezonedata",addRunDependency(t),[4,e.response];case 1:return[4,r.sent().arrayBuffer()];case 2:return n=r.sent(),Module.FS_createPath("/","usr",!0,!0),Module.FS_createPath("/usr/","share",!0,!0),Module.FS_createPath("/usr/share/","zoneinfo",!0,!0),MONO.mono_wasm_load_data_archive(new Uint8Array(n),"/usr/share/zoneinfo/"),removeRunDependency(t),[2]}}))}))}(m),w?function(e){r(this,void 0,void 0,(function(){var t,n,r,i,a;return o(this,(function(o){switch(o.label){case 0:return t="blazor:icudata",addRunDependency(t),[4,e.response];case 1:return n=o.sent(),i=Uint8Array.bind,[4,n.arrayBuffer()];case 2:if(r=new(i.apply(Uint8Array,[void 0,o.sent()])),a=MONO.mono_wasm_load_bytes_into_heap(r),!MONO.mono_wasm_load_icu_data(a))throw new Error("Error loading ICU asset.");return removeRunDependency(t),[2]}}))}))}(w):MONO.mono_wasm_setenv("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT","1"),_.forEach((function(e){return A(e,b(e.name,".dll"))})),E.forEach((function(e){return A(e,e.name)})),window.Blazor._internal.dotNetCriticalError=function(e){d.printErr(BINDING.conv_string(e)||"(null)")},window.Blazor._internal.getSatelliteAssemblies=function(t){var n=BINDING.mono_array_to_js_array(t),i=e.bootConfig.resources.satelliteResources;if(e.startOptions.applicationCulture||navigator.languages&&navigator.languages[0],i){var a=Promise.all(n.filter((function(e){return i.hasOwnProperty(e)})).map((function(t){return e.loadResources(i[t],(function(e){return"_framework/"+e}),"assembly")})).reduce((function(e,t){return e.concat(t)}),new Array).map((function(e){return r(l,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return[4,e.response];case 1:return[2,t.sent().arrayBuffer()]}}))}))})));return BINDING.js_to_mono_obj(a.then((function(e){return e.length&&(window.Blazor._internal.readSatelliteAssemblies=function(){for(var t=BINDING.mono_obj_array_new(e.length),n=0;n>1];var n},readInt32Field:function(e,t){return p(e+(t||0))},readUint64Field:function(e,t){return function(e){var t=e>>2,n=Module.HEAPU32[t+1];if(n>f)throw new Error("Cannot read uint64 with high order part "+n+", because the result would exceed Number.MAX_SAFE_INTEGER.");return n*l+Module.HEAPU32[t]}(e+(t||0))},readFloatField:function(e,t){return n=e+(t||0),Module.HEAPF32[n>>2];var n},readObjectField:function(e,t){return p(e+(t||0))},readStringField:function(e,t,n){var r,o=p(e+(t||0));if(0===o)return null;if(n){var i=BINDING.unbox_mono_obj(o);return"boolean"==typeof i?i?"":null:i}return d?void 0===(r=d.stringCache.get(o))&&(r=BINDING.conv_string(o),d.stringCache.set(o,r)):r=BINDING.conv_string(o),r},readStructField:function(e,t){return e+(t||0)},beginHeapLock:function(){return g(),d=new w},invokeWhenHeapUnlocked:function(e){d?d.enqueuePostReleaseAction(e):e()}};var h=document.createElement("a");function m(e){return e+12}function v(e,t,n){var r="["+e+"] "+t+":"+n;return BINDING.bind_static_method(r)}function y(e,t){return r(this,void 0,void 0,(function(){var n,r;return o(this,(function(o){switch(o.label){case 0:if("function"!=typeof WebAssembly.instantiateStreaming)return[3,4];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,WebAssembly.instantiateStreaming(e.response,t)];case 2:return[2,o.sent().instance];case 3:return n=o.sent(),console.info("Streaming compilation failed. Falling back to ArrayBuffer instantiation. ",n),[3,4];case 4:return[4,e.response.then((function(e){return e.arrayBuffer()}))];case 5:return r=o.sent(),[4,WebAssembly.instantiate(r,t)];case 6:return[2,o.sent().instance]}}))}))}function b(e,t){var n=e.lastIndexOf(".");if(n<0)throw new Error("No extension to replace in '"+e+"'");return e.substr(0,n)+t}function g(){if(d)throw new Error("Assertion failed - heap is currently locked")}var w=function(){function e(){this.stringCache=new Map}return e.prototype.enqueuePostReleaseAction=function(e){this.postReleaseActions||(this.postReleaseActions=[]),this.postReleaseActions.push(e)},e.prototype.release=function(){var e;if(d!==this)throw new Error("Trying to release a lock which isn't current");for(d=null;null===(e=this.postReleaseActions)||void 0===e?void 0:e.length;){this.postReleaseActions.shift()(),g()}},e}()},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&e.invokeMethodAsync("OnSpacerAfterVisible",r.boundingClientRect.bottom-r.intersectionRect.bottom,a,s)}}))}),{root:i,rootMargin:o+"px"});a.observe(t),a.observe(n);var s=c(t),u=c(n);function c(e){var t=new MutationObserver((function(){a.unobserve(e),a.observe(e)}));return t.observe(e,{attributes:!0}),t}r[e._id]={intersectionObserver:a,mutationObserverBefore:s,mutationObserverAfter:u}},dispose:function(e){var t=r[e._id];t&&(t.intersectionObserver.disconnect(),t.mutationObserverBefore.disconnect(),t.mutationObserverAfter.disconnect(),e.dispose(),delete r[e._id])}};var r={}},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1].*)$/;function i(e,t){var n=e.currentElement;if(n&&n.nodeType===Node.COMMENT_NODE&&n.textContent){var r=new RegExp(o).exec(n.textContent),i=r&&r.groups&&r.groups.descriptor;if(!i)return;try{var s=function(e){var t=JSON.parse(e),n=t.type;if("server"!==n&&"webassembly"!==n)throw new Error("Invalid component type '"+n+"'.");return t}(i);switch(t){case"webassembly":return function(e,t,n){var r=e.type,o=e.assembly,i=e.typeName,s=e.parameterDefinitions,u=e.parameterValues,c=e.prerenderId;if("webassembly"!==r)return;if(!o)throw new Error("assembly must be defined when using a descriptor.");if(!i)throw new Error("typeName must be defined when using a descriptor.");if(c){var l=a(c,n);if(!l)throw new Error("Could not find an end component comment for '"+t+"'");return{type:r,assembly:o,typeName:i,parameterDefinitions:s&&atob(s),parameterValues:u&&atob(u),start:t,prerenderId:c,end:l}}return{type:r,assembly:o,typeName:i,parameterDefinitions:s&&atob(s),parameterValues:u&&atob(u),start:t}}(s,n,e);case"server":return function(e,t,n){var r=e.type,o=e.descriptor,i=e.sequence,s=e.prerenderId;if("server"!==r)return;if(!o)throw new Error("descriptor must be defined when using a descriptor.");if(void 0===i)throw new Error("sequence must be defined when using a descriptor.");if(!Number.isInteger(i))throw new Error("Error parsing the sequence '"+i+"' for component '"+JSON.stringify(e)+"'");if(s){var u=a(s,n);if(!u)throw new Error("Could not find an end component comment for '"+t+"'");return{type:r,sequence:i,descriptor:o,start:t,prerenderId:s,end:u}}return{type:r,sequence:i,descriptor:o,start:t}}(s,n,e)}}catch(e){throw new Error("Found malformed component comment at "+n.textContent)}}}function a(e,t){for(;t.next()&&t.currentElement;){var n=t.currentElement;if(n.nodeType===Node.COMMENT_NODE&&n.textContent){var r=new RegExp(o).exec(n.textContent),i=r&&r[1];if(i)return s(i,e),n}}}function s(e,t){var n=JSON.parse(e);if(1!==Object.keys(n).length)throw new Error("Invalid end of component comment: '"+e+"'");var r=n.prerenderId;if(!r)throw new Error("End of component comment must have a value for the prerendered property: '"+e+"'");if(r!==t)throw new Error("End of component comment prerendered property must match the start comment prerender id: '"+t+"', '"+r+"'")}var u=function(){function e(e){this.childNodes=e,this.currentIndex=-1,this.length=e.length}return e.prototype.next=function(){return this.currentIndex++,this.currentIndex0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(t,"__esModule",{value:!0});var a=n(3);n(28);var s=n(20),u=n(22),c=n(16),l=n(59),f=n(40),d=n(21),p=n(60),h=n(61),m=n(24),v=n(62),y=n(41),b=!1;function g(e){return r(this,void 0,void 0,(function(){var t,n,f,g,_,E,I,C,N,A,S,O=this;return o(this,(function(D){switch(D.label){case 0:if(b)throw new Error("Blazor has already started.");return b=!0,d.setEventDispatcher((function(e,t){c.getRendererer(e.browserRendererId).eventDelegator.getHandler(e.eventHandlerId)&&u.monoPlatform.invokeWhenHeapUnlocked((function(){return a.DotNet.invokeMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","DispatchEvent",e,JSON.stringify(t))}))})),window.Blazor._internal.invokeJSFromDotNet=w,t=s.setPlatform(u.monoPlatform),window.Blazor.platform=t,window.Blazor._internal.renderBatch=function(e,t){var n=u.monoPlatform.beginHeapLock();try{c.renderBatch(e,new l.SharedMemoryRenderBatch(t))}finally{n.release()}},n=window.Blazor._internal.navigationManager.getBaseURI,f=window.Blazor._internal.navigationManager.getLocationHref,window.Blazor._internal.navigationManager.getUnmarshalledBaseURI=function(){return BINDING.js_string_to_mono_string(n())},window.Blazor._internal.navigationManager.getUnmarshalledLocationHref=function(){return BINDING.js_string_to_mono_string(f())},window.Blazor._internal.navigationManager.listenForNavigationEvents((function(e,t){return r(O,void 0,void 0,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,a.DotNet.invokeMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChanged",e,t)];case 1:return n.sent(),[2]}}))}))})),g=null==e?void 0:e.environment,_=m.BootConfigResult.initAsync(g),E=y.discoverComponents(document,"webassembly"),I=new v.WebAssemblyComponentAttacher(E),window.Blazor._internal.registeredComponents={getRegisteredComponentsCount:function(){return I.getCount()},getId:function(e){return I.getId(e)},getAssembly:function(e){return BINDING.js_string_to_mono_string(I.getAssembly(e))},getTypeName:function(e){return BINDING.js_string_to_mono_string(I.getTypeName(e))},getParameterDefinitions:function(e){return BINDING.js_string_to_mono_string(I.getParameterDefinitions(e)||"")},getParameterValues:function(e){return BINDING.js_string_to_mono_string(I.getParameterValues(e)||"")}},window.Blazor._internal.attachRootComponentToElement=function(e,t,n){var r=I.resolveRegisteredElement(e);r?c.attachRootComponentToLogicalElement(n,r,t):c.attachRootComponentToElement(e,t,n)},[4,_];case 1:return C=D.sent(),[4,Promise.all([p.WebAssemblyResourceLoader.initAsync(C.bootConfig,e||{}),h.WebAssemblyConfigLoader.initAsync(C)])];case 2:N=i.apply(void 0,[D.sent(),1]),A=N[0],D.label=3;case 3:return D.trys.push([3,5,,6]),[4,t.start(A)];case 4:return D.sent(),[3,6];case 5:throw S=D.sent(),new Error("Failed to start platform. Reason: "+S);case 6:return t.callEntryPoint(A.bootConfig.entryAssembly),[2]}}))}))}function w(e,t,n,r){var o=u.monoPlatform.readStringField(e,0),i=u.monoPlatform.readInt32Field(e,4),s=u.monoPlatform.readStringField(e,8),c=u.monoPlatform.readUint64Field(e,20);if(null!==s){var l=u.monoPlatform.readUint64Field(e,12);if(0!==l)return a.DotNet.jsCallDispatcher.beginInvokeJSFromDotNet(l,o,s,i,c),0;var f=a.DotNet.jsCallDispatcher.invokeJSFromDotNet(o,s,i,c);return null===f?0:BINDING.js_string_to_mono_string(f)}var d=a.DotNet.jsCallDispatcher.findJSFunction(o,c).call(null,t,n,r);switch(i){case a.DotNet.JSCallResultType.Default:return d;case a.DotNet.JSCallResultType.JSObjectReference:return a.DotNet.createJSObjectReference(d).__jsObjectId;default:throw new Error("Invalid JS call result type '"+i+"'.")}}window.Blazor.start=g,f.shouldAutoStart()&&g().catch((function(e){"undefined"!=typeof Module&&Module.printErr?Module.printErr(e):console.error(e)}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(20),o=function(){function e(e){this.batchAddress=e,this.arrayRangeReader=i,this.arrayBuilderSegmentReader=a,this.diffReader=s,this.editReader=u,this.frameReader=c}return e.prototype.updatedComponents=function(){return r.platform.readStructField(this.batchAddress,0)},e.prototype.referenceFrames=function(){return r.platform.readStructField(this.batchAddress,i.structLength)},e.prototype.disposedComponentIds=function(){return r.platform.readStructField(this.batchAddress,2*i.structLength)},e.prototype.disposedEventHandlerIds=function(){return r.platform.readStructField(this.batchAddress,3*i.structLength)},e.prototype.updatedComponentsEntry=function(e,t){return l(e,t,s.structLength)},e.prototype.referenceFramesEntry=function(e,t){return l(e,t,c.structLength)},e.prototype.disposedComponentIdsEntry=function(e,t){var n=l(e,t,4);return r.platform.readInt32Field(n)},e.prototype.disposedEventHandlerIdsEntry=function(e,t){var n=l(e,t,8);return r.platform.readUint64Field(n)},e}();t.SharedMemoryRenderBatch=o;var i={structLength:8,values:function(e){return r.platform.readObjectField(e,0)},count:function(e){return r.platform.readInt32Field(e,4)}},a={structLength:12,values:function(e){var t=r.platform.readObjectField(e,0),n=r.platform.getObjectFieldsBaseAddress(t);return r.platform.readObjectField(n,0)},offset:function(e){return r.platform.readInt32Field(e,4)},count:function(e){return r.platform.readInt32Field(e,8)}},s={structLength:4+a.structLength,componentId:function(e){return r.platform.readInt32Field(e,0)},edits:function(e){return r.platform.readStructField(e,4)},editsEntry:function(e,t){return l(e,t,u.structLength)}},u={structLength:20,editType:function(e){return r.platform.readInt32Field(e,0)},siblingIndex:function(e){return r.platform.readInt32Field(e,4)},newTreeIndex:function(e){return r.platform.readInt32Field(e,8)},moveToSiblingIndex:function(e){return r.platform.readInt32Field(e,8)},removedAttributeName:function(e){return r.platform.readStringField(e,16)}},c={structLength:36,frameType:function(e){return r.platform.readInt16Field(e,4)},subtreeLength:function(e){return r.platform.readInt32Field(e,8)},elementReferenceCaptureId:function(e){return r.platform.readStringField(e,16)},componentId:function(e){return r.platform.readInt32Field(e,12)},elementName:function(e){return r.platform.readStringField(e,16)},textContent:function(e){return r.platform.readStringField(e,16)},markupContent:function(e){return r.platform.readStringField(e,16)},attributeName:function(e){return r.platform.readStringField(e,16)},attributeValue:function(e){return r.platform.readStringField(e,24,!0)},attributeEventHandlerId:function(e){return r.platform.readUint64Field(e,8)}};function l(e,t,n){return r.platform.getArrayEntryPtr(e,t,n)}},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":3950,"maximum":3950,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_MAX=614352,DYNAMIC_BASE=5857232,DYNAMICTOP_PTR=614192;var TOTAL_STACK=5242880;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":2147483648/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="dotnet.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return Promise.resolve().then(getBinary)}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={42719:function($0,$1,$2){MONO.mono_wasm_add_typed_value("pointer",$0,{ptr_addr:$1,klass_addr:$2})},42819:function($0,$1,$2){MONO.mono_wasm_add_typed_value("array",$0,{objectId:$1,length:$2})},42926:function($0,$1,$2,$3,$4,$5){MONO.mono_wasm_add_typed_value($0,$1,{toString:$2,value_addr:$3,value_size:$4,klass:$5})},43048:function($0,$1,$2){MONO.mono_wasm_add_typed_value($0,$1,{toString:$2})},43388:function($0,$1,$2,$3,$4){MONO.mono_wasm_add_properties_var($0,{field_offset:$1,is_own:$2,attr:$3,owner_class:$4})},125764:function(){return STACK_MAX},125786:function(){return TOTAL_STACK},554847:function($0,$1){MONO.string_decoder.decode($0,$0+$1,true)},555220:function($0,$1,$2){var str=MONO.string_decoder.decode($0,$0+$1);try{var res=eval(str);if(res===null||res==undefined)return 0;res=res.toString();setValue($2,0,"i32")}catch(e){res=e.toString();setValue($2,1,"i32");if(res===null||res===undefined)res="unknown exception"}var buff=Module._malloc((res.length+1)*2);stringToUTF16(res,buff,(res.length+1)*2);return buff},555639:function($0,$1,$2,$3){var message=Module.UTF8ToString($3)+": "+Module.UTF8ToString($1);if($2)console.trace(message);switch(Module.UTF8ToString($0)){case"critical":case"error":console.error(message);break;case"warning":console.warn(message);break;case"message":console.log(message);break;case"info":console.info(message);break;case"debug":console.debug(message);break;default:console.log(message);break}}};function compile_function(snippet_ptr,len,is_exception){try{var data=MONO.string_decoder.decode(snippet_ptr,snippet_ptr+len);var wrapper="(function () { "+data+" })";var funcFactory=eval(wrapper);var func=funcFactory();if(typeof func!=="function"){throw new Error("Code must return an instance of a JavaScript function. "+"Please use `return` statement to return a function.")}setValue(is_exception,0,"i32");return BINDING.js_to_mono_obj(func)}catch(e){res=e.toString();setValue(is_exception,1,"i32");if(res===null||res===undefined)res="unknown exception";return BINDING.js_to_mono_obj(res)}}__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};var _emscripten_get_now_is_monotonic=true;function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=prev-1;return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){HEAP32[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return HEAP32[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){var ptrSize=4;HEAP32[this.ptr+ptrSize>>2]=adjustedPtr};this.get_adjusted_ptr=function(){var ptrSize=4;return HEAP32[this.ptr+ptrSize>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return HEAP32[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);__ZSt18uncaught_exceptionv.uncaught_exceptions--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){Module["dynCall_ii"](destructor,info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_3(){var thrown=exceptionLast;if(!thrown){return(setTempRet0(0),0)|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);if(!thrownType){return(setTempRet0(0),catchInfo.ptr)|0}var typeArray=Array.prototype.slice.call(arguments);var thrownBuf=0;HEAP32[thrownBuf>>2]=thrown;for(var i=0;i>2];if(thrown!==adjusted){catchInfo.set_adjusted_ptr(adjusted)}return(setTempRet0(caughtType),catchInfo.ptr)|0}}return(setTempRet0(thrownType),catchInfo.ptr)|0}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_access(path,amode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fadvise64_64(fd,offset,len,advice){return 0}function ___sys_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ftruncate64(fd,zero,low,high){try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>>0,(tempDouble=id,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getpid(){return 42}function ___sys_getrusage(who,usage){try{_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_link(oldpath,newpath){return-34}function ___sys_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_madvise1(addr,length,advice){return 0}function ___sys_mkdir(path,mode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMmap2(addr,len,prot,flags,fd,off){off<<=12;var ptr;var allocated=false;if((flags&16)!==0&&addr%16384!==0){return-28}if((flags&32)!==0){ptr=_memalign(16384,len);if(!ptr)return-48;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-8;var res=FS.mmap(info,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,prot:prot,flags:flags,offset:off};return ptr}function ___sys_mmap2(addr,len,prot,flags,fd,off){try{return syscallMmap2(addr,len,prot,flags,fd,off)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_msync(addr,len,flags){try{var info=SYSCALLS.mappings[addr];if(!info)return 0;SYSCALLS.doMsync(addr,FS.getStream(info.fd),len,info.flags,0);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMunmap(addr,len){if((addr|0)===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_read(fd,buf,count){try{var stream=SYSCALLS.getStreamFromFD(fd);return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_readlink(path,buf,bufsize){try{path=SYSCALLS.getStr(path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rename(old_path,new_path){try{old_path=SYSCALLS.getStr(old_path);new_path=SYSCALLS.getStr(new_path);FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>>0}function jstoi_q(str){return parseInt(str)}function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:5}}return{}}function ___sys_socketcall(call,socketvararg){try{SYSCALLS.varargs=socketvararg;var getSocketFromFD=function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(8);return socket};var getSocketAddress=function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}case 2:{var sock=getSocketFromFD(),info=getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0}case 3:{var sock=getSocketFromFD(),info=getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0}case 4:{var sock=getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0}case 5:{var sock=getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport)}return newsock.stream.fd}case 6:{var sock=getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);return 0}case 7:{var sock=getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-53}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);return 0}case 11:{var sock=getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}case 12:{var sock=getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}case 14:{return-50}case 15:{var sock=getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}case 16:{var sock=getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}case 17:{var sock=getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}default:{return-52}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_unlink(path){try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var seconds=HEAP32[times>>2];var nanoseconds=HEAP32[times+4>>2];var atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=8;seconds=HEAP32[times>>2];nanoseconds=HEAP32[times+4>>2];var mtime=seconds*1e3+nanoseconds/(1e3*1e3);FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){abort()}function _emscripten_get_now_res(){if(ENVIRONMENT_IS_NODE){return 1}else if(typeof dateNow!=="undefined"){return 1e3}else return 1e3}function _clock_getres(clk_id,res){var nsec;if(clk_id===0){nsec=1e3*1e3}else if(clk_id===1&&_emscripten_get_now_is_monotonic){nsec=_emscripten_get_now_res()}else{setErrNo(28);return-1}HEAP32[res>>2]=nsec/1e9|0;HEAP32[res+4>>2]=nsec;return 0}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _exit(status){exit(status)}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _flock(fd,operation){return 0}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+-1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+-2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+-3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+-4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+-6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+-7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+-8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+-10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+-11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+-12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _getTempRet0(){return getTempRet0()|0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",614256,4),614256);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _llvm_eh_typeid_for(type){return type}function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var MONO={pump_count:0,timeout_queue:[],_vt_stack:[],mono_wasm_runtime_is_ready:false,mono_wasm_ignore_pdb_load_errors:true,_id_table:{},pump_message:function(){if(!this.mono_background_exec)this.mono_background_exec=Module.cwrap("mono_background_exec",null);while(MONO.timeout_queue.length>0){--MONO.pump_count;MONO.timeout_queue.shift()()}while(MONO.pump_count>0){--MONO.pump_count;this.mono_background_exec()}},export_functions:function(module){module["pump_message"]=MONO.pump_message;module["mono_load_runtime_and_bcl"]=MONO.mono_load_runtime_and_bcl;module["mono_load_runtime_and_bcl_args"]=MONO.mono_load_runtime_and_bcl_args;module["mono_wasm_load_bytes_into_heap"]=MONO.mono_wasm_load_bytes_into_heap;module["mono_wasm_load_icu_data"]=MONO.mono_wasm_load_icu_data;module["mono_wasm_globalization_init"]=MONO.mono_wasm_globalization_init;module["mono_wasm_get_loaded_files"]=MONO.mono_wasm_get_loaded_files;module["mono_wasm_new_root_buffer"]=MONO.mono_wasm_new_root_buffer;module["mono_wasm_new_root"]=MONO.mono_wasm_new_root;module["mono_wasm_new_roots"]=MONO.mono_wasm_new_roots;module["mono_wasm_release_roots"]=MONO.mono_wasm_release_roots},_base64Converter:{_base64Table:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],_makeByteReader:function(bytes,index,count){var position=typeof index==="number"?index:0;var endpoint;if(typeof count==="number")endpoint=position+count;else endpoint=bytes.length-position;var result={read:function(){if(position>=endpoint)return false;var nextByte=bytes[position];position+=1;return nextByte}};Object.defineProperty(result,"eof",{get:function(){return position>=endpoint},configurable:true,enumerable:true});return result},toBase64StringImpl:function(inArray,offset,length){var reader=this._makeByteReader(inArray,offset,length);var result="";var ch1=0,ch2=0,ch3=0,bits=0,equalsCount=0,sum=0;var mask1=(1<<24)-1,mask2=(1<<18)-1,mask3=(1<<12)-1,mask4=(1<<6)-1;var shift1=18,shift2=12,shift3=6,shift4=0;while(true){ch1=reader.read();ch2=reader.read();ch3=reader.read();if(ch1===false)break;if(ch2===false){ch2=0;equalsCount+=1}if(ch3===false){ch3=0;equalsCount+=1}sum=ch1<<16|ch2<<8|ch3<<0;bits=(sum&mask1)>>shift1;result+=this._base64Table[bits];bits=(sum&mask2)>>shift2;result+=this._base64Table[bits];if(equalsCount<2){bits=(sum&mask3)>>shift3;result+=this._base64Table[bits]}if(equalsCount===2){result+="=="}else if(equalsCount===1){result+="="}else{bits=(sum&mask4)>>shift4;result+=this._base64Table[bits]}}return result}},_mono_wasm_root_buffer_prototype:{get:function(index){return Module.HEAP32[this.__offset32+index]},set:function(index,value){var absoluteOffset=this.__offset32+index;Module.HEAP32[absoluteOffset]=value;return value},release:function(){if(this.__offset){MONO.mono_wasm_deregister_root(this.__offset);MONO._fill_region(this.__offset,this.__count*4,0);Module.free(this.__offset)}this.__handle=this.__offset=this.__count=this.__offset32=undefined}},_scratch_root_buffer:null,_scratch_root_free_indices:null,_mono_wasm_root_prototype:{get:function(){var result=this.__buffer.get(this.__index);return result},set:function(value){this.__buffer.set(this.__index,value);return value},valueOf:function(){return this.get()},release:function(){MONO._mono_wasm_release_scratch_index(this.__index);this.__buffer=undefined;this.__index=undefined}},_mono_wasm_release_scratch_index:function(index){if(index===undefined)return;this._scratch_root_buffer.set(index,0);this._scratch_root_free_indices.push(index)},_mono_wasm_claim_scratch_index:function(){if(!this._scratch_root_buffer){const maxScratchRoots=8192;this._scratch_root_buffer=this.mono_wasm_new_root_buffer(maxScratchRoots,"js roots");this._scratch_root_free_indices=new Array(maxScratchRoots);for(var i=0;i= 1");var capacityBytes=capacity*4;var offset=Module._malloc(capacityBytes);if(offset%4!==0)throw new Error("Malloc returned an unaligned offset");this._zero_region(offset,capacityBytes,0);var result=Object.create(MONO._mono_wasm_root_buffer_prototype);result.__offset=offset;result.__offset32=offset/4;result.__count=capacity;result.__handle=MONO.mono_wasm_register_root(offset,capacityBytes,msg||0);return result},mono_wasm_new_root:function(value){var index=this._mono_wasm_claim_scratch_index();var buffer=this._scratch_root_buffer;var result=Object.create(MONO._mono_wasm_root_prototype);result.__buffer=buffer;result.__index=index;if(value!==undefined){if(typeof value!=="number")throw new Error("value must be an address in the managed heap");result.set(value)}else{result.set(0)}return result},mono_wasm_new_roots:function(count_or_values){var result;if(Array.isArray(count_or_values)){result=new Array(count_or_values.length);for(var i=0;i0){result=new Array(count_or_values);for(var i=0;i",description:""};i++}out_list.push(o)}return out_list},_filter_automatic_properties:function(props,accessors_only=false){let getters={};let all_fields_except_backing_fields={};let backing_fields={};props.forEach(p=>{if(p.name===undefined){console.debug(`Bug: Found a member with no name. Skipping it. p: ${JSON.stringify(p)}`);return}if(p.name.endsWith("k__BackingField")){const auto_prop_name=p.name.replace("k__BackingField","").replace("<","").replace(">","");if(!(auto_prop_name in backing_fields))backing_fields[auto_prop_name]=Object.assign(p,{name:auto_prop_name})}else if(p.get!==undefined){if(!(p.name in getters)&&!(p.name in all_fields_except_backing_fields))getters[p.name]=p}else if(!(p.name in all_fields_except_backing_fields)){all_fields_except_backing_fields[p.name]=p}});Object.values(backing_fields).forEach(backing_field=>{const auto_prop_name=backing_field.name;const getter=getters[auto_prop_name];if(getter===undefined){return}if(auto_prop_name in all_fields_except_backing_fields){delete getters[auto_prop_name]}else if(getter.__args.owner_class===backing_field.__args.owner_class){all_fields_except_backing_fields[auto_prop_name]=backing_field;delete getters[auto_prop_name]}});if(accessors_only)return Object.values(getters);return Object.values(all_fields_except_backing_fields).concat(Object.values(getters))},_parse_object_id:function(idStr,throwOnError=false){if(idStr===undefined||idStr==""||!idStr.startsWith("dotnet:")){if(throwOnError)throw new Error(`Invalid id: ${idStr}`);return undefined}const[,scheme,...rest]=idStr.split(":");let res={scheme:scheme,value:rest.join(":"),idStr:idStr,o:{}};try{res.o=JSON.parse(res.value)}catch(e){}return res},_resolve_member_by_name:function(base_object,base_name,expr_parts){if(base_object===undefined||base_object.value===undefined)throw new Error(`Bug: base_object is undefined`);if(base_object.value.type==="object"&&base_object.value.subtype==="null")throw new ReferenceError(`Null reference: ${base_name} is null`);if(base_object.value.type!=="object")throw new ReferenceError(`'.' is only supported on non-primitive types. Failed on '${base_name}'`);if(expr_parts.length==0)throw new Error(`Invalid member access expression`);const root=expr_parts[0];const props=this.mono_wasm_get_details(base_object.value.objectId,{});let resObject=props.find(l=>l.name==root);if(resObject!==undefined){if(resObject.value===undefined&&resObject.get!==undefined)resObject=this._invoke_getter(base_object.value.objectId,root)}if(resObject===undefined||expr_parts.length==1)return resObject;else{expr_parts.shift();return this._resolve_member_by_name(resObject,root,expr_parts)}},mono_wasm_eval_member_access:function(scope,var_list,rootObjectId,expr){if(expr===undefined||expr.length==0)throw new Error(`expression argument required`);let parts=expr.split(".");if(parts.length==0)throw new Error(`Invalid member access expression: ${expr}`);const root=parts[0];const locals=this.mono_wasm_get_variables(scope,var_list);let rootObject=locals.find(l=>l.name===root);if(rootObject===undefined){const thisObject=locals.find(l=>l.name=="this");if(thisObject===undefined)throw new ReferenceError(`Could not find ${root} in locals, and no 'this' found.`);const thisProps=this.mono_wasm_get_details(thisObject.value.objectId,{});rootObject=thisProps.find(tp=>tp.name==root);if(rootObject===undefined)throw new ReferenceError(`Could not find ${root} in locals, or in 'this'`);if(rootObject.value===undefined&&rootObject.get!==undefined)rootObject=this._invoke_getter(thisObject.value.objectId,root)}parts.shift();if(parts.length==0)return rootObject;if(rootObject===undefined||rootObject.value===undefined)throw new Error(`Could not get a value for ${root}`);return this._resolve_member_by_name(rootObject,root,parts)},_get_vt_properties:function(id,args={}){let entry=this._get_id_props(id.idStr);if(entry===undefined||entry.members===undefined){if(!isNaN(id.o.containerId)){this._get_object_properties(id.o.containerId,{expandValueTypes:true})}else if(!isNaN(id.o.arrayId))this._get_array_values(id,Number(id.o.arrayIdx),1,true);else throw new Error(`Invalid valuetype id (${id.idStr}). Can't get properties for it.`)}entry=this._get_id_props(id.idStr);if(entry!==undefined&&entry.members!==undefined){if(args.accessorPropertiesOnly===true)return entry.accessors;return entry.members}throw new Error(`Unknown valuetype id: ${id.idStr}. Failed to get properties for it.`)},_assign_vt_ids:function(vars,getIdArgs){vars.forEach((v,i)=>{const value=v.value;if(value===undefined||!value.isValueType)return;if(value.objectId!==undefined)throw new Error(`Bug: Trying to assign valuetype id, but the var already has one: ${v}`);value.objectId=this._new_or_add_id_props({scheme:"valuetype",idArgs:getIdArgs(v,i),props:value._props});delete value._props});return vars},mono_wasm_get_variables:function(scope,var_list){const numBytes=var_list.length*Int32Array.BYTES_PER_ELEMENT;const ptr=Module._malloc(numBytes);let heapBytes=new Int32Array(Module.HEAP32.buffer,ptr,numBytes);for(let i=0;i({containerId:this._async_method_objectId,fieldOffset:v.fieldOffset}));for(let i in res){const res_name=res[i].name;if(this._async_method_objectId!=0){if(res_name!==undefined&&res_name.indexOf(">")>0){res[i].name=res_name.substring(1,res_name.indexOf(">"))}}else if(res_name===undefined&&var_list[i]!==undefined){res[i].name=var_list[i].name}}this._post_process_details(res);return res},_get_properties_args_to_gpflags:function(args){let gpflags=0;if(args.expandValueTypes)gpflags|=4;return gpflags},_get_object_properties:function(idNum,args={}){let gpflags=this._get_properties_args_to_gpflags(args);let{res_ok:res_ok,res:res}=this.mono_wasm_get_object_properties_info(idNum,gpflags);if(!res_ok)throw new Error(`Failed to get properties for ${idNum}`);res=MONO._filter_automatic_properties(res,args.accessorPropertiesOnly===true);res=this._assign_vt_ids(res,v=>({containerId:idNum,fieldOffset:v.fieldOffset}));res=this._post_process_details(res);return res},_get_array_values:function(id,startIdx=0,count=-1,expandValueTypes=false){if(isNaN(id.o.arrayId)||isNaN(startIdx))throw new Error(`Invalid array id: ${id.idStr}`);let gpflags=this._get_properties_args_to_gpflags({expandValueTypes:expandValueTypes});let{res_ok:res_ok,res:res}=this.mono_wasm_get_array_values_info(id.o.arrayId,startIdx,count,gpflags);if(!res_ok)throw new Error(`Failed to get properties for array id ${id.idStr}`);res=this._assign_vt_ids(res,(_,i)=>({arrayId:id.o.arrayId,arrayIdx:Number(startIdx)+i}));for(let i=0;i0)this._extract_and_cache_value_types(details);details.forEach(d=>delete d.__args);return details},_next_id:function(){return++this._next_id_var},_extract_and_cache_value_types:function(var_list){if(var_list==undefined||!Array.isArray(var_list)||var_list.length==0)return var_list;for(let i in var_list){let value=var_list[i].value;if(value===undefined)continue;if(value.objectId!==undefined&&value.objectId.startsWith("dotnet:pointer:")){let ptr_args=this._get_id_props(value.objectId);if(ptr_args===undefined)throw new Error(`Bug: Expected to find an entry for pointer id: ${value.objectId}`);ptr_args.varName=ptr_args.varName||var_list[i].name}if(value.type!="object"||value.isValueType!=true||value.expanded!=true)continue;if(value.members===undefined){continue}value.objectId=value.objectId||this._new_or_add_id_props({scheme:"valuetype"});this._extract_and_cache_value_types(value.members);const accessors=value.members.filter(m=>m.get!==undefined);const new_props=Object.assign({members:value.members,accessors:accessors},value.__extra_vt_props);this._new_or_add_id_props({objectId:value.objectId,props:new_props});delete value.members;delete value.__extra_vt_props}return var_list},_get_cfo_res_details:function(objectId,args){if(!(objectId in this._call_function_res_cache))throw new Error(`Could not find any object with id ${objectId}`);const real_obj=this._call_function_res_cache[objectId];const descriptors=Object.getOwnPropertyDescriptors(real_obj);if(args.accessorPropertiesOnly){Object.keys(descriptors).forEach(k=>{if(descriptors[k].get===undefined)Reflect.deleteProperty(descriptors,k)})}let res_details=[];Object.keys(descriptors).forEach(k=>{let new_obj;let prop_desc=descriptors[k];if(typeof prop_desc.value=="object"){new_obj=Object.assign({name:k},prop_desc)}else if(prop_desc.value!==undefined){new_obj={name:k,value:Object.assign({type:typeof prop_desc.value,description:""+prop_desc.value},prop_desc)}}else if(prop_desc.get!==undefined){new_obj={name:k,get:{className:"Function",description:`get ${k} () {}`,type:"function"}}}else{new_obj={name:k,value:{type:"symbol",value:"",description:""}}}res_details.push(new_obj)});return{__value_as_json_string__:JSON.stringify(res_details)}},_new_or_add_id_props:function({scheme:scheme=undefined,objectId:objectId=undefined,idArgs:idArgs={},props:props={}}){if(scheme===undefined&&objectId===undefined)throw new Error(`Either scheme or objectId must be given`);if(scheme!==undefined&&objectId!==undefined)throw new Error(`Both scheme, and objectId cannot be given`);if(objectId!==undefined&&Object.entries(idArgs).length>0)throw new Error(`Both objectId, and idArgs cannot be given`);if(Object.entries(idArgs).length==0){idArgs.num=this._next_id()}let idStr;if(objectId!==undefined){idStr=objectId;const old_props=this._id_table[idStr];if(old_props===undefined)throw new Error(`ObjectId not found in the id table: ${idStr}`);this._id_table[idStr]=Object.assign(old_props,props)}else{idStr=`dotnet:${scheme}:${JSON.stringify(idArgs)}`;this._id_table[idStr]=props}return idStr},_get_id_props:function(objectId){return this._id_table[objectId]},_get_deref_ptr_value:function(objectId){const ptr_args=this._get_id_props(objectId);if(ptr_args===undefined)throw new Error(`Unknown pointer id: ${objectId}`);if(ptr_args.ptr_addr==0||ptr_args.klass_addr==0)throw new Error(`Both ptr_addr and klass_addr need to be non-zero, to dereference a pointer. objectId: ${objectId}`);const value_addr=new DataView(Module.HEAPU8.buffer).getUint32(ptr_args.ptr_addr,true);let{res_ok:res_ok,res:res}=this.mono_wasm_get_deref_ptr_value_info(value_addr,ptr_args.klass_addr);if(!res_ok)throw new Error(`Failed to dereference pointer ${objectId}`);if(res.length>0){if(ptr_args.varName===undefined)throw new Error(`Bug: no varName found for the pointer. objectId: ${objectId}`);res[0].name=`*${ptr_args.varName}`}res=this._post_process_details(res);return res},mono_wasm_get_details:function(objectId,args={}){let id=this._parse_object_id(objectId,true);switch(id.scheme){case"object":{if(isNaN(id.value))throw new Error(`Invalid objectId: ${objectId}. Expected a numeric id.`);args.expandValueTypes=false;return this._get_object_properties(id.value,args)}case"array":return this._get_array_values(id);case"valuetype":return this._get_vt_properties(id,args);case"cfo_res":return this._get_cfo_res_details(objectId,args);case"pointer":{return this._get_deref_ptr_value(objectId)}default:throw new Error(`Unknown object id format: ${objectId}`)}},_cache_call_function_res:function(obj){const id=`dotnet:cfo_res:${this._next_call_function_res_id++}`;this._call_function_res_cache[id]=obj;return id},mono_wasm_release_object:function(objectId){if(objectId in this._cache_call_function_res)delete this._cache_call_function_res[objectId]},_invoke_getter:function(objectIdStr,name){const id=this._parse_object_id(objectIdStr);if(id===undefined)throw new Error(`Invalid object id: ${objectIdStr}`);let getter_res;if(id.scheme=="object"){if(isNaN(id.o)||id.o<0)throw new Error(`Invalid object id: ${objectIdStr}`);let{res_ok:res_ok,res:res}=this.mono_wasm_invoke_getter_on_object_info(id.o,name);if(!res_ok)throw new Error(`Invoking getter on ${objectIdStr} failed`);getter_res=res}else if(id.scheme=="valuetype"){const id_props=this._get_id_props(objectIdStr);if(id_props===undefined)throw new Error(`Unknown valuetype id: ${objectIdStr}`);if(typeof id_props.value64!=="string"||isNaN(id_props.klass))throw new Error(`Bug: Cannot invoke getter on ${objectIdStr}, because of missing or invalid klass/value64 fields. idProps: ${JSON.stringify(id_props)}`);const dataPtr=Module._malloc(id_props.value64.length);const dataHeap=new Uint8Array(Module.HEAPU8.buffer,dataPtr,id_props.value64.length);dataHeap.set(new Uint8Array(this._base64_to_uint8(id_props.value64)));let{res_ok:res_ok,res:res}=this.mono_wasm_invoke_getter_on_value_info(dataHeap.byteOffset,id_props.klass,name);Module._free(dataHeap.byteOffset);if(!res_ok){console.debug(`Invoking getter on valuetype ${objectIdStr}, with props: ${JSON.stringify(id_props)} failed`);throw new Error(`Invoking getter on valuetype ${objectIdStr} failed`)}getter_res=res}else{throw new Error(`Only object, and valuetypes supported for getters, id: ${objectIdStr}`)}getter_res=MONO._post_process_details(getter_res);return getter_res.length>0?getter_res[0]:{}},_create_proxy_from_object_id:function(objectId){const details=this.mono_wasm_get_details(objectId);if(objectId.startsWith("dotnet:array:"))return details.map(p=>p.value);let proxy={};Object.keys(details).forEach(p=>{var prop=details[p];if(prop.get!==undefined){Object.defineProperty(proxy,prop.name,{get(){return MONO._invoke_getter(objectId,prop.name)}})}else{proxy[prop.name]=prop.value}});return proxy},mono_wasm_call_function_on:function(request){if(request.arguments!=undefined&&!Array.isArray(request.arguments))throw new Error(`"arguments" should be an array, but was ${request.arguments}`);const objId=request.objectId;let proxy;if(objId.startsWith("dotnet:cfo_res:")){if(objId in this._call_function_res_cache)proxy=this._call_function_res_cache[objId];else throw new Error(`Unknown object id ${objId}`)}else{proxy=this._create_proxy_from_object_id(objId)}const fn_args=request.arguments!=undefined?request.arguments.map(a=>JSON.stringify(a.value)):[];const fn_eval_str=`var fn = ${request.functionDeclaration}; fn.call (proxy, ...[${fn_args}]);`;const fn_res=eval(fn_eval_str);if(fn_res===undefined)return{type:"undefined"};if(fn_res===null||fn_res.subtype==="null"&&fn_res.value===undefined)return fn_res;if(Object(fn_res)!==fn_res)return fn_res;if(fn_res.value!==undefined&&Object(fn_res.value.value)!==fn_res.value.value)return fn_res.value;if(request.returnByValue)return{type:"object",value:fn_res};const fn_res_id=this._cache_call_function_res(fn_res);if(Object.getPrototypeOf(fn_res)==Array.prototype){return{type:"object",subtype:"array",className:"Array",description:`Array(${fn_res.length})`,objectId:fn_res_id}}else{return{type:"object",className:"Object",description:"Object",objectId:fn_res_id}}},_clear_per_step_state:function(){this._next_id_var=0;this._id_table={}},mono_wasm_debugger_resume:function(){this._clear_per_step_state()},mono_wasm_start_single_stepping:function(kind){console.debug(">> mono_wasm_start_single_stepping "+kind);if(!this.mono_wasm_setup_single_step)this.mono_wasm_setup_single_step=Module.cwrap("mono_wasm_setup_single_step","number",["number"]);this._clear_per_step_state();return this.mono_wasm_setup_single_step(kind)},mono_wasm_set_pause_on_exceptions:function(state){if(!this.mono_wasm_pause_on_exceptions)this.mono_wasm_pause_on_exceptions=Module.cwrap("mono_wasm_pause_on_exceptions","number",["number"]);var state_enum=0;switch(state){case"uncaught":state_enum=1;break;case"all":state_enum=2;break}return this.mono_wasm_pause_on_exceptions(state_enum)},_register_c_fn:function(name,...args){Object.defineProperty(this._c_fn_table,name+"_wrapper",{value:Module.cwrap(name,...args)})},_register_c_var_fn:function(name,ret_type,params){if(ret_type!=="bool")throw new Error(`Bug: Expected a C function signature that returns bool`);this._register_c_fn(name,ret_type,params);Object.defineProperty(this,name+"_info",{value:function(...args){MONO.var_info=[];const res_ok=MONO._c_fn_table[name+"_wrapper"](...args);let res=MONO.var_info;MONO.var_info=[];if(res_ok){res=this._fixup_name_value_objects(res);return{res_ok:res_ok,res:res}}return{res_ok:res_ok,res:undefined}}})},mono_wasm_runtime_ready:function(){this.mono_wasm_runtime_is_ready=true;console.debug("mono_wasm_runtime_ready","fe00e07a-5519-4dfe-b35a-f867dbaf2e28");this._clear_per_step_state();this._next_call_function_res_id=0;this._call_function_res_cache={};this._c_fn_table={};this._register_c_var_fn("mono_wasm_get_object_properties","bool",["number","number"]);this._register_c_var_fn("mono_wasm_get_array_values","bool",["number","number","number","number"]);this._register_c_var_fn("mono_wasm_invoke_getter_on_object","bool",["number","string"]);this._register_c_var_fn("mono_wasm_invoke_getter_on_value","bool",["number","number","string"]);this._register_c_var_fn("mono_wasm_get_local_vars","bool",["number","number","number"]);this._register_c_var_fn("mono_wasm_get_deref_ptr_value","bool",["number","number"])},mono_wasm_set_breakpoint:function(assembly,method_token,il_offset){if(!this.mono_wasm_set_bp)this.mono_wasm_set_bp=Module.cwrap("mono_wasm_set_breakpoint","number",["string","number","number"]);return this.mono_wasm_set_bp(assembly,method_token,il_offset)},mono_wasm_remove_breakpoint:function(breakpoint_id){if(!this.mono_wasm_del_bp)this.mono_wasm_del_bp=Module.cwrap("mono_wasm_remove_breakpoint","number",["number"]);return this.mono_wasm_del_bp(breakpoint_id)},mono_wasm_setenv:function(name,value){if(!this.wasm_setenv)this.wasm_setenv=Module.cwrap("mono_wasm_setenv",null,["string","string"]);this.wasm_setenv(name,value)},mono_wasm_set_runtime_options:function(options){if(!this.wasm_parse_runtime_options)this.wasm_parse_runtime_options=Module.cwrap("mono_wasm_parse_runtime_options",null,["number","number"]);var argv=Module._malloc(options.length*4);var wasm_strdup=Module.cwrap("mono_wasm_strdup","number",["string"]);let aindex=0;for(var i=0;i0?virtualName.substr(0,lastSlash):null;var fileName=lastSlash>0?virtualName.substr(lastSlash+1):virtualName;if(fileName.startsWith("/"))fileName=fileName.substr(1);if(parentDirectory){if(ctx.tracing)console.log("MONO_WASM: Creating directory '"+parentDirectory+"'");var pathRet=ctx.createPath("/",parentDirectory,true,true)}else{parentDirectory="/"}if(ctx.tracing)console.log("MONO_WASM: Creating file '"+fileName+"' in directory '"+parentDirectory+"'");if(!this.mono_wasm_load_data_archive(bytes,parentDirectory)){var fileRet=ctx.createDataFile(parentDirectory,fileName,bytes,true,true,true)}break;default:throw new Error("Unrecognized asset behavior:",asset.behavior,"for asset",asset.name)}if(asset.behavior==="assembly"){var hasPpdb=ctx.mono_wasm_add_assembly(virtualName,offset,bytes.length);if(!hasPpdb){var index=ctx.loaded_files.findIndex(element=>element.file==virtualName);ctx.loaded_files.splice(index,1)}}else if(asset.behavior==="icu"){if(this.mono_wasm_load_icu_data(offset))ctx.num_icu_assets_loaded_successfully+=1;else console.error("Error loading ICU asset",asset.name)}},mono_load_runtime_and_bcl:function(unused_vfs_prefix,deploy_prefix,debug_level,file_list,loaded_cb,fetch_file_cb){var args={fetch_file_cb:fetch_file_cb,loaded_cb:loaded_cb,debug_level:debug_level,assembly_root:deploy_prefix,assets:[]};for(var i=0;iloaded_files_with_debug_info.push(value.url));MONO.loaded_files=loaded_files_with_debug_info;if(ctx.tracing){console.log("MONO_WASM: loaded_assets: "+JSON.stringify(ctx.loaded_assets));console.log("MONO_WASM: loaded_files: "+JSON.stringify(ctx.loaded_files))}var load_runtime=Module.cwrap("mono_wasm_load_runtime",null,["string","number"]);console.debug("MONO_WASM: Initializing mono runtime");this.mono_wasm_globalization_init(args.globalization_mode);if(ENVIRONMENT_IS_SHELL||ENVIRONMENT_IS_NODE){try{load_runtime("unused",args.debug_level)}catch(ex){print("MONO_WASM: load_runtime () failed: "+ex);print("MONO_WASM: Stacktrace: \n");print(ex.stack);var wasm_exit=Module.cwrap("mono_wasm_exit",null,["number"]);wasm_exit(1)}}else{load_runtime("unused",args.debug_level)}MONO.mono_wasm_runtime_ready();args.loaded_cb()},_load_assets_and_runtime:function(args){if(args.enable_debugging)args.debug_level=args.enable_debugging;if(args.assembly_list)throw new Error("Invalid args (assembly_list was replaced by assets)");if(args.runtime_assets)throw new Error("Invalid args (runtime_assets was replaced by assets)");if(args.runtime_asset_sources)throw new Error("Invalid args (runtime_asset_sources was replaced by remote_sources)");if(!args.loaded_cb)throw new Error("loaded_cb not provided");var ctx={tracing:args.diagnostic_tracing||false,pending_count:args.assets.length,mono_wasm_add_assembly:Module.cwrap("mono_wasm_add_assembly","number",["string","number","number"]),loaded_assets:Object.create(null),loaded_files:[],createPath:Module["FS_createPath"],createDataFile:Module["FS_createDataFile"]};if(ctx.tracing)console.log("mono_wasm_load_runtime_with_args",JSON.stringify(args));this._apply_configuration_from_args(args);var fetch_file_cb=this._get_fetch_file_cb_from_args(args);var onPendingRequestComplete=function(){--ctx.pending_count;if(ctx.pending_count===0){try{MONO._finalize_startup(args,ctx)}catch(exc){console.error("Unhandled exception in _finalize_startup",exc);throw exc}}};var processFetchResponseBuffer=function(asset,url,blob){try{MONO._handle_loaded_asset(ctx,asset,url,blob)}catch(exc){console.error("Unhandled exception in processFetchResponseBuffer",exc);throw exc}finally{onPendingRequestComplete()}};args.assets.forEach(function(asset){var attemptNextSource;var sourceIndex=0;var sourcesList=asset.load_remote?args.remote_sources:[""];var handleFetchResponse=function(response){if(!response.ok){try{attemptNextSource();return}catch(exc){console.error("MONO_WASM: Unhandled exception in handleFetchResponse attemptNextSource for asset",asset.name,exc);throw exc}}try{var bufferPromise=response["arrayBuffer"]();bufferPromise.then(processFetchResponseBuffer.bind(this,asset,response.url))}catch(exc){console.error("MONO_WASM: Unhandled exception in handleFetchResponse for asset",asset.name,exc);attemptNextSource()}};attemptNextSource=function(){if(sourceIndex>=sourcesList.length){var msg="MONO_WASM: Failed to load "+asset.name;try{var isOk=asset.is_optional||asset.name.match(/\.pdb$/)&&MONO.mono_wasm_ignore_pdb_load_errors;if(isOk)console.debug(msg);else{console.error(msg);throw new Error(msg)}}finally{onPendingRequestComplete()}}var sourcePrefix=sourcesList[sourceIndex];sourceIndex++;if(sourcePrefix==="./")sourcePrefix="";var attemptUrl;if(sourcePrefix.trim()===""){if(asset.behavior==="assembly")attemptUrl=locateFile(args.assembly_root+"/"+asset.name);else attemptUrl=asset.name}else{attemptUrl=sourcePrefix+asset.name}try{if(asset.name===attemptUrl){if(ctx.tracing)console.log("Attempting to fetch '"+attemptUrl+"'")}else{if(ctx.tracing)console.log("Attempting to fetch '"+attemptUrl+"' for",asset.name)}var fetch_promise=fetch_file_cb(attemptUrl);fetch_promise.then(handleFetchResponse)}catch(exc){console.error("MONO_WASM: Error fetching "+attemptUrl,exc);attemptNextSource()}};attemptNextSource()})},mono_wasm_globalization_init:function(globalization_mode){var invariantMode=false;if(globalization_mode==="invariant")invariantMode=true;if(!invariantMode){if(this.num_icu_assets_loaded_successfully>0){console.debug("MONO_WASM: ICU data archive(s) loaded, disabling invariant mode")}else if(globalization_mode!=="icu"){console.debug("MONO_WASM: ICU data archive(s) not loaded, using invariant globalization mode");invariantMode=true}else{var msg="invariant globalization mode is inactive and no ICU data archives were loaded";console.error("MONO_WASM: ERROR: "+msg);throw new Error(msg)}}if(invariantMode)this.mono_wasm_setenv("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT","1")},mono_wasm_get_loaded_files:function(){return MONO.loaded_files},mono_wasm_get_loaded_asset_table:function(){return MONO.loaded_assets},mono_wasm_clear_all_breakpoints:function(){if(!this.mono_clear_bps)this.mono_clear_bps=Module.cwrap("mono_wasm_clear_all_breakpoints",null);this.mono_clear_bps()},mono_wasm_add_null_var:function(className){let fixed_class_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));if(!fixed_class_name){fixed_class_name=className}MONO.var_info.push({value:{type:"object",className:fixed_class_name,description:fixed_class_name,subtype:"null"}})},_mono_wasm_add_string_var:function(var_value){if(var_value===0){MONO.mono_wasm_add_null_var("string");return}MONO.var_info.push({value:{type:"string",value:var_value,description:var_value}})},_mono_wasm_add_getter_var:function(className){const fixed_class_name=MONO._mono_csharp_fixup_class_name(className);var name;if(MONO.var_info.length>0)name=MONO.var_info[MONO.var_info.length-1].name;name=name===undefined?"":name;MONO.var_info.push({get:{className:"Function",description:`get ${name} () {}`,type:"function"}})},_mono_wasm_add_array_var:function(className,objectId,length){const fixed_class_name=MONO._mono_csharp_fixup_class_name(className);if(objectId==0){MONO.mono_wasm_add_null_var(fixed_class_name);return}MONO.var_info.push({value:{type:"object",subtype:"array",className:fixed_class_name,description:`${fixed_class_name}(${length})`,objectId:this._new_or_add_id_props({scheme:"array",idArgs:{arrayId:objectId}})}})},_base64_to_uint8:function(base64String){const byteCharacters=atob(base64String);const byteNumbers=new Array(byteCharacters.length);for(let i=0;i{var file=m[0];var last=file.lastIndexOf("/");var directory=file.slice(0,last);folders.add(directory)});folders.forEach(folder=>{Module["FS_createPath"](prefix,folder,true,true)});for(row of manifest){var name=row[0];var length=row[1];var bytes=data.slice(0,length);Module["FS_createDataFile"](prefix,name,bytes,true,true);data=data.slice(length)}return true},mono_wasm_raise_debug_event:function(event,args={}){if(typeof event!=="object")throw new Error(`event must be an object, but got ${JSON.stringify(event)}`);if(event.eventName===undefined)throw new Error(`event.eventName is a required parameter, in event: ${JSON.stringify(event)}`);if(typeof args!=="object")throw new Error(`args must be an object, but got ${JSON.stringify(args)}`);console.debug("mono_wasm_debug_event_raised:aef14bca-5519-4dfe-b35a-f867abc123ae",JSON.stringify(event),JSON.stringify(args))}};function _mono_set_timeout(timeout,id){if(!this.mono_set_timeout_exec)this.mono_set_timeout_exec=Module.cwrap("mono_set_timeout_exec",null,["number"]);if(ENVIRONMENT_IS_WEB){window.setTimeout(function(){this.mono_set_timeout_exec(id)},timeout)}else if(ENVIRONMENT_IS_WORKER){self.setTimeout(function(){this.mono_set_timeout_exec(id)},timeout)}else if(ENVIRONMENT_IS_NODE){global.setTimeout(function(){global.mono_set_timeout_exec(id)},timeout)}else{++MONO.pump_count;MONO.timeout_queue.push(function(){this.mono_set_timeout_exec(id)})}}function _mono_wasm_add_array_item(position){MONO.var_info.push({name:`${position}`})}function _mono_wasm_add_enum_var(className,members,value){const re=new RegExp(`[,]?([^,:]+):(${value}(?=,)|${value}$)`,"g");const members_str=Module.UTF8ToString(members);const match=re.exec(members_str);const member_name=match==null?""+value:match[1];const fixed_class_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));MONO.var_info.push({value:{type:"object",className:fixed_class_name,description:member_name,isEnum:true}})}function _mono_wasm_add_frame(il,method,frame_id,assembly_name,method_full_name){var parts=Module.UTF8ToString(method_full_name).split(":",2);MONO.active_frames.push({il_pos:il,method_token:method,assembly_name:Module.UTF8ToString(assembly_name),method_name:parts[parts.length-1],frame_id:frame_id})}function _mono_wasm_add_func_var(className,targetName,objectId){if(objectId==0){MONO.mono_wasm_add_null_var(MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className)));return}function args_to_sig(args_str){var parts=args_str.split(":");parts=parts.map(a=>MONO._mono_csharp_fixup_class_name(a));var method_name=parts.pop();var ret_sig=parts[0];var args_sig=parts.splice(1).join(", ");return`${ret_sig} ${method_name} (${args_sig})`}let tgt_sig;if(targetName!=0)tgt_sig=args_to_sig(Module.UTF8ToString(targetName));const type_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));if(tgt_sig===undefined)tgt_sig=type_name;if(objectId==-1||targetName===0){MONO.var_info.push({value:{type:"symbol",value:tgt_sig,description:tgt_sig}})}else{MONO.var_info.push({value:{type:"object",className:type_name,description:tgt_sig,objectId:"dotnet:object:"+objectId}})}}function _mono_wasm_add_obj_var(className,toString,objectId){if(objectId==0){MONO.mono_wasm_add_null_var(className);return}const fixed_class_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));MONO.var_info.push({value:{type:"object",className:fixed_class_name,description:toString===0?fixed_class_name:Module.UTF8ToString(toString),objectId:"dotnet:object:"+objectId}})}function _mono_wasm_add_properties_var(name,args){MONO.mono_wasm_add_properties_var(name,args)}function _mono_wasm_add_typed_value(type,str_value,value){MONO.mono_wasm_add_typed_value(type,str_value,value)}function _mono_wasm_asm_loaded(assembly_name,assembly_ptr,assembly_len,pdb_ptr,pdb_len){if(MONO.mono_wasm_runtime_is_ready!==true)return;if(!this.mono_wasm_assembly_already_added)this.mono_wasm_assembly_already_added=Module.cwrap("mono_wasm_assembly_already_added","number",["string"]);const assembly_name_str=assembly_name!==0?Module.UTF8ToString(assembly_name).concat(".dll"):"";if(this.mono_wasm_assembly_already_added(assembly_name_str))return;const assembly_data=new Uint8Array(Module.HEAPU8.buffer,assembly_ptr,assembly_len);const assembly_b64=MONO._base64Converter.toBase64StringImpl(assembly_data);let pdb_b64;if(pdb_ptr){const pdb_data=new Uint8Array(Module.HEAPU8.buffer,pdb_ptr,pdb_len);pdb_b64=MONO._base64Converter.toBase64StringImpl(pdb_data)}MONO.mono_wasm_raise_debug_event({eventName:"AssemblyLoaded",assembly_name:assembly_name_str,assembly_b64:assembly_b64,pdb_b64:pdb_b64})}var BINDING={BINDING_ASM:"[System.Private.Runtime.InteropServices.JavaScript]System.Runtime.InteropServices.JavaScript.Runtime",mono_wasm_object_registry:[],mono_wasm_ref_counter:0,mono_wasm_free_list:[],mono_wasm_owned_objects_frames:[],mono_wasm_owned_objects_LMF:[],mono_wasm_marshal_enum_as_int:false,mono_bindings_init:function(binding_asm){this.BINDING_ASM=binding_asm},export_functions:function(module){module["mono_bindings_init"]=BINDING.mono_bindings_init.bind(BINDING);module["mono_method_invoke"]=BINDING.call_method.bind(BINDING);module["mono_method_get_call_signature"]=BINDING.mono_method_get_call_signature.bind(BINDING);module["mono_method_resolve"]=BINDING.resolve_method_fqn.bind(BINDING);module["mono_bind_static_method"]=BINDING.bind_static_method.bind(BINDING);module["mono_call_static_method"]=BINDING.call_static_method.bind(BINDING);module["mono_bind_assembly_entry_point"]=BINDING.bind_assembly_entry_point.bind(BINDING);module["mono_call_assembly_entry_point"]=BINDING.call_assembly_entry_point.bind(BINDING)},bindings_lazy_init:function(){if(this.init)return;Array.prototype[Symbol.for("wasm type")]=1;ArrayBuffer.prototype[Symbol.for("wasm type")]=2;DataView.prototype[Symbol.for("wasm type")]=3;Function.prototype[Symbol.for("wasm type")]=4;Map.prototype[Symbol.for("wasm type")]=5;if(typeof SharedArrayBuffer!=="undefined")SharedArrayBuffer.prototype[Symbol.for("wasm type")]=6;Int8Array.prototype[Symbol.for("wasm type")]=10;Uint8Array.prototype[Symbol.for("wasm type")]=11;Uint8ClampedArray.prototype[Symbol.for("wasm type")]=12;Int16Array.prototype[Symbol.for("wasm type")]=13;Uint16Array.prototype[Symbol.for("wasm type")]=14;Int32Array.prototype[Symbol.for("wasm type")]=15;Uint32Array.prototype[Symbol.for("wasm type")]=16;Float32Array.prototype[Symbol.for("wasm type")]=17;Float64Array.prototype[Symbol.for("wasm type")]=18;this.assembly_load=Module.cwrap("mono_wasm_assembly_load","number",["string"]);this.find_class=Module.cwrap("mono_wasm_assembly_find_class","number",["number","string","string"]);this.find_method=Module.cwrap("mono_wasm_assembly_find_method","number",["number","string","number"]);this.invoke_method=Module.cwrap("mono_wasm_invoke_method","number",["number","number","number","number"]);this.mono_string_get_utf8=Module.cwrap("mono_wasm_string_get_utf8","number",["number"]);this.mono_wasm_string_from_utf16=Module.cwrap("mono_wasm_string_from_utf16","number",["number","number"]);this.mono_get_obj_type=Module.cwrap("mono_wasm_get_obj_type","number",["number"]);this.mono_unbox_int=Module.cwrap("mono_unbox_int","number",["number"]);this.mono_unbox_float=Module.cwrap("mono_wasm_unbox_float","number",["number"]);this.mono_array_length=Module.cwrap("mono_wasm_array_length","number",["number"]);this.mono_array_get=Module.cwrap("mono_wasm_array_get","number",["number","number"]);this.mono_obj_array_new=Module.cwrap("mono_wasm_obj_array_new","number",["number"]);this.mono_obj_array_set=Module.cwrap("mono_wasm_obj_array_set","void",["number","number","number"]);this.mono_unbox_enum=Module.cwrap("mono_wasm_unbox_enum","number",["number"]);this.assembly_get_entry_point=Module.cwrap("mono_wasm_assembly_get_entry_point","number",["number"]);this.mono_typed_array_new=Module.cwrap("mono_wasm_typed_array_new","number",["number","number","number","number"]);var binding_fqn_asm=this.BINDING_ASM.substring(this.BINDING_ASM.indexOf("[")+1,this.BINDING_ASM.indexOf("]")).trim();var binding_fqn_class=this.BINDING_ASM.substring(this.BINDING_ASM.indexOf("]")+1).trim();this.binding_module=this.assembly_load(binding_fqn_asm);if(!this.binding_module)throw"Can't find bindings module assembly: "+binding_fqn_asm;if(binding_fqn_class!==null&&typeof binding_fqn_class!=="undefined"){var namespace="System.Runtime.InteropServices.JavaScript";var classname=binding_fqn_class.length>0?binding_fqn_class:"Runtime";if(binding_fqn_class.indexOf(".")!=-1){var idx=binding_fqn_class.lastIndexOf(".");namespace=binding_fqn_class.substring(0,idx);classname=binding_fqn_class.substring(idx+1)}}var wasm_runtime_class=this.find_class(this.binding_module,namespace,classname);if(!wasm_runtime_class)throw"Can't find "+binding_fqn_class+" class";var get_method=function(method_name){var res=BINDING.find_method(wasm_runtime_class,method_name,-1);if(!res)throw"Can't find method "+namespace+"."+classname+":"+method_name;return res};this.bind_js_obj=get_method("BindJSObject");this.bind_core_clr_obj=get_method("BindCoreCLRObject");this.bind_existing_obj=get_method("BindExistingObject");this.unbind_raw_obj_and_free=get_method("UnBindRawJSObjectAndFree");this.get_js_id=get_method("GetJSObjectId");this.get_raw_mono_obj=get_method("GetDotNetObject");this.box_js_int=get_method("BoxInt");this.box_js_double=get_method("BoxDouble");this.box_js_bool=get_method("BoxBool");this.is_simple_array=get_method("IsSimpleArray");this.setup_js_cont=get_method("SetupJSContinuation");this.create_tcs=get_method("CreateTaskSource");this.set_tcs_result=get_method("SetTaskSourceResult");this.set_tcs_failure=get_method("SetTaskSourceFailure");this.tcs_get_task_and_bind=get_method("GetTaskAndBind");this.get_call_sig=get_method("GetCallSignature");this.object_to_string=get_method("ObjectToString");this.get_date_value=get_method("GetDateValue");this.create_date_time=get_method("CreateDateTime");this.create_uri=get_method("CreateUri");this.safehandle_addref=get_method("SafeHandleAddRef");this.safehandle_release=get_method("SafeHandleRelease");this.safehandle_get_handle=get_method("SafeHandleGetHandle");this.safehandle_release_by_handle=get_method("SafeHandleReleaseByHandle");this.init=true},get_js_obj:function(js_handle){if(js_handle>0)return this.mono_wasm_require_handle(js_handle);return null},conv_string:function(mono_obj){return MONO.string_decoder.copy(mono_obj)},is_nested_array:function(ele){return this.call_method(this.is_simple_array,null,"mi",[ele])},js_string_to_mono_string:function(string){if(string===null||typeof string==="undefined")return 0;var buffer=Module._malloc(string.length*2);if(!buffer)throw new Error("out of memory");var buffer16=buffer/2|0;for(var i=0;iview_bytes)num_of_bytes=view_bytes;var offset=begin*bytes_per_element;var heapBytes=new Uint8Array(Module.HEAPU8.buffer,pinned_array+offset,num_of_bytes);heapBytes.set(new Uint8Array(typed_array.buffer,typed_array.byteOffset,num_of_bytes));return num_of_bytes}else{throw new Error("Object '"+typed_array+"' is not a typed array")}},typedarray_copy_from:function(typed_array,pinned_array,begin,end,bytes_per_element){if(!!(typed_array.buffer instanceof ArrayBuffer&&typed_array.BYTES_PER_ELEMENT)){if(bytes_per_element!==typed_array.BYTES_PER_ELEMENT)throw new Error("Inconsistent element sizes: TypedArray.BYTES_PER_ELEMENT '"+typed_array.BYTES_PER_ELEMENT+"' sizeof managed element: '"+bytes_per_element+"'");var num_of_bytes=(end-begin)*bytes_per_element;var view_bytes=typed_array.length*typed_array.BYTES_PER_ELEMENT;if(num_of_bytes>view_bytes)num_of_bytes=view_bytes;var typedarrayBytes=new Uint8Array(typed_array.buffer,0,num_of_bytes);var offset=begin*bytes_per_element;typedarrayBytes.set(Module.HEAPU8.subarray(pinned_array+offset,pinned_array+offset+num_of_bytes));return num_of_bytes}else{throw new Error("Object '"+typed_array+"' is not a typed array")}},typed_array_from:function(pinned_array,begin,end,bytes_per_element,type){var newTypedArray=0;switch(type){case 5:newTypedArray=new Int8Array(end-begin);break;case 6:newTypedArray=new Uint8Array(end-begin);break;case 7:newTypedArray=new Int16Array(end-begin);break;case 8:newTypedArray=new Uint16Array(end-begin);break;case 9:newTypedArray=new Int32Array(end-begin);break;case 10:newTypedArray=new Uint32Array(end-begin);break;case 13:newTypedArray=new Float32Array(end-begin);break;case 14:newTypedArray=new Float64Array(end-begin);break;case 15:newTypedArray=new Uint8ClampedArray(end-begin);break}this.typedarray_copy_from(newTypedArray,pinned_array,begin,end,bytes_per_element);return newTypedArray},js_to_mono_enum:function(method,parmIdx,js_obj){this.bindings_lazy_init();if(js_obj===null||typeof js_obj==="undefined")return 0;var monoObj,monoEnum;try{monoObj=MONO.mono_wasm_new_root(this.js_to_mono_obj(js_obj));monoEnum=MONO.mono_wasm_new_root(this.call_method(this.object_to_enum,null,"iimm",[method,parmIdx,monoObj.value]));return this.mono_unbox_enum(monoEnum.value)}finally{MONO.mono_wasm_release_roots(monoObj,monoEnum)}},wasm_binding_obj_new:function(js_obj_id,ownsHandle,type){return this.call_method(this.bind_js_obj,null,"iii",[js_obj_id,ownsHandle,type])},wasm_bind_existing:function(mono_obj,js_id){return this.call_method(this.bind_existing_obj,null,"mi",[mono_obj,js_id])},wasm_bind_core_clr_obj:function(js_id,gc_handle){return this.call_method(this.bind_core_clr_obj,null,"ii",[js_id,gc_handle])},wasm_get_js_id:function(mono_obj){return this.call_method(this.get_js_id,null,"m",[mono_obj])},wasm_get_raw_obj:function(gchandle){return this.call_method(this.get_raw_mono_obj,null,"im",[gchandle])},try_extract_mono_obj:function(js_obj){if(js_obj===null||typeof js_obj==="undefined"||typeof js_obj.__mono_gchandle__==="undefined")return 0;return this.wasm_get_raw_obj(js_obj.__mono_gchandle__)},mono_method_get_call_signature:function(method){this.bindings_lazy_init();return this.call_method(this.get_call_sig,null,"i",[method])},get_task_and_bind:function(tcs,js_obj){var gc_handle=this.mono_wasm_free_list.length?this.mono_wasm_free_list.pop():this.mono_wasm_ref_counter++;var task_gchandle=this.call_method(this.tcs_get_task_and_bind,null,"oi",[tcs,gc_handle+1]);js_obj.__mono_gchandle__=task_gchandle;this.mono_wasm_object_registry[gc_handle]=js_obj;this.free_task_completion_source(tcs);tcs.is_mono_tcs_task_bound=true;js_obj.__mono_bound_tcs__=tcs.__mono_gchandle__;tcs.__mono_bound_task__=js_obj.__mono_gchandle__;return this.wasm_get_raw_obj(js_obj.__mono_gchandle__)},free_task_completion_source:function(tcs){if(tcs.is_mono_tcs_result_set){this.call_method(this.unbind_raw_obj_and_free,null,"ii",[tcs.__mono_gchandle__])}if(tcs.__mono_bound_task__){this.call_method(this.unbind_raw_obj_and_free,null,"ii",[tcs.__mono_bound_task__])}},extract_mono_obj:function(js_obj){if(js_obj===null||typeof js_obj==="undefined")return 0;if(!js_obj.is_mono_bridged_obj){var gc_handle=this.mono_wasm_register_obj(js_obj);return this.wasm_get_raw_obj(gc_handle)}return this.wasm_get_raw_obj(js_obj.__mono_gchandle__)},extract_js_obj:function(mono_obj){if(mono_obj==0)return null;var js_id=this.wasm_get_js_id(mono_obj);if(js_id>0)return this.mono_wasm_require_handle(js_id);var gcHandle=this.mono_wasm_free_list.length?this.mono_wasm_free_list.pop():this.mono_wasm_ref_counter++;var js_obj={__mono_gchandle__:this.wasm_bind_existing(mono_obj,gcHandle+1),is_mono_bridged_obj:true};this.mono_wasm_object_registry[gcHandle]=js_obj;return js_obj},call_method:function(method,this_arg,args_marshal,args){this.bindings_lazy_init();var has_args=args!==null&&typeof args!=="undefined"&&args.length>0;var has_args_marshal=args_marshal!==null&&typeof args_marshal!=="undefined"&&args_marshal.length>0;if(has_args_marshal&&(!has_args||args.length>args_marshal.length))throw Error("Parameter count mismatch.");var args_start=null;var buffer=null;var exception_out=null;if(has_args_marshal&&has_args){var i;var converters=this.converters;if(!converters){converters=new Map;converters.set("m",{steps:[{}],size:0});converters.set("s",{steps:[{convert:this.js_string_to_mono_string.bind(this)}],size:0});converters.set("o",{steps:[{convert:this.js_to_mono_obj.bind(this)}],size:0});converters.set("u",{steps:[{convert:this.js_to_mono_uri.bind(this)}],size:0});converters.set("k",{steps:[{convert:this.js_to_mono_enum.bind(this),indirect:"i64"}],size:8});converters.set("j",{steps:[{convert:this.js_to_mono_enum.bind(this),indirect:"i32"}],size:8});converters.set("i",{steps:[{indirect:"i32"}],size:8});converters.set("l",{steps:[{indirect:"i64"}],size:8});converters.set("f",{steps:[{indirect:"float"}],size:8});converters.set("d",{steps:[{indirect:"double"}],size:8});this.converters=converters}var converter=converters.get(args_marshal);if(!converter){var steps=[];var size=0;for(i=0;i=args.length&&args_marshal[args.length]==="m")return res.value}return this._unbox_mono_obj_rooted(res)}finally{res.release()}},invoke_delegate:function(delegate_obj,js_args){this.bindings_lazy_init();if(typeof delegate_obj.__mono_delegate_alive__!=="undefined"){if(!delegate_obj.__mono_delegate_alive__)throw new Error("The delegate target that is being invoked is no longer available. Please check if it has been prematurely GC'd.")}if(!this.delegate_dynamic_invoke){if(!this.corlib)this.corlib=this.assembly_load("System.Private.CoreLib");if(!this.delegate_class)this.delegate_class=this.find_class(this.corlib,"System","Delegate");if(!this.delegate_class){throw new Error("System.Delegate class can not be resolved.")}this.delegate_dynamic_invoke=this.find_method(this.delegate_class,"DynamicInvoke",-1)}var mono_args=this.js_array_to_mono_array(js_args);if(!this.delegate_dynamic_invoke)throw new Error("System.Delegate.DynamicInvoke method can not be resolved.");return this.call_method(this.delegate_dynamic_invoke,this.extract_mono_obj(delegate_obj),"mo",[mono_args])},resolve_method_fqn:function(fqn){this.bindings_lazy_init();var assembly=fqn.substring(fqn.indexOf("[")+1,fqn.indexOf("]")).trim();fqn=fqn.substring(fqn.indexOf("]")+1).trim();var methodname=fqn.substring(fqn.indexOf(":")+1);fqn=fqn.substring(0,fqn.indexOf(":")).trim();var namespace="";var classname=fqn;if(fqn.indexOf(".")!=-1){var idx=fqn.lastIndexOf(".");namespace=fqn.substring(0,idx);classname=fqn.substring(idx+1)}var asm=this.assembly_load(assembly);if(!asm)throw new Error("Could not find assembly: "+assembly);var klass=this.find_class(asm,namespace,classname);if(!klass)throw new Error("Could not find class: "+namespace+":"+classname);var method=this.find_method(klass,methodname,-1);if(!method)throw new Error("Could not find method: "+methodname);return method},call_static_method:function(fqn,args,signature){this.bindings_lazy_init();var method=this.resolve_method_fqn(fqn);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return this.call_method(method,null,signature,args)},bind_static_method:function(fqn,signature){this.bindings_lazy_init();var method=this.resolve_method_fqn(fqn);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return function(){return BINDING.call_method(method,null,signature,arguments)}},bind_assembly_entry_point:function(assembly){this.bindings_lazy_init();var asm=this.assembly_load(assembly);if(!asm)throw new Error("Could not find assembly: "+assembly);var method=this.assembly_get_entry_point(asm);if(!method)throw new Error("Could not find entry point for assembly: "+assembly);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return function(){return BINDING.call_method(method,null,signature,arguments)}},call_assembly_entry_point:function(assembly,args,signature){this.bindings_lazy_init();var asm=this.assembly_load(assembly);if(!asm)throw new Error("Could not find assembly: "+assembly);var method=this.assembly_get_entry_point(asm);if(!method)throw new Error("Could not find entry point for assembly: "+assembly);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return this.call_method(method,null,signature,args)},mono_wasm_register_obj:function(obj){var gc_handle=undefined;if(obj!==null&&typeof obj!=="undefined"){gc_handle=obj.__mono_gchandle__;if(typeof gc_handle==="undefined"){var handle=this.mono_wasm_free_list.length?this.mono_wasm_free_list.pop():this.mono_wasm_ref_counter++;obj.__mono_jshandle__=handle;var wasm_type=obj[Symbol.for("wasm type")];obj.__owns_handle__=true;gc_handle=obj.__mono_gchandle__=this.wasm_binding_obj_new(handle+1,obj.__owns_handle__,typeof wasm_type==="undefined"?-1:wasm_type);this.mono_wasm_object_registry[handle]=obj}}return gc_handle},mono_wasm_require_handle:function(handle){if(handle>0)return this.mono_wasm_object_registry[handle-1];return null},mono_wasm_unregister_obj:function(js_id){var obj=this.mono_wasm_object_registry[js_id-1];if(typeof obj!=="undefined"&&obj!==null){if(typeof ___mono_wasm_global___!=="undefined"&&___mono_wasm_global___===obj)return obj;var gc_handle=obj.__mono_gchandle__;if(typeof gc_handle!=="undefined"){obj.__mono_gchandle__=undefined;obj.__mono_jshandle__=undefined;if(typeof obj.__mono_delegate_alive__!=="undefined")obj.__mono_delegate_alive__=false;this.mono_wasm_object_registry[js_id-1]=undefined;this.mono_wasm_free_list.push(js_id-1)}}return obj},mono_wasm_free_handle:function(handle){this.mono_wasm_unregister_obj(handle)},mono_wasm_free_raw_object:function(js_id){var obj=this.mono_wasm_object_registry[js_id-1];if(typeof obj!=="undefined"&&obj!==null){if(typeof ___mono_wasm_global___!=="undefined"&&___mono_wasm_global___===obj)return obj;var gc_handle=obj.__mono_gchandle__;if(typeof gc_handle!=="undefined"){obj.__mono_gchandle__=undefined;obj.__mono_jshandle__=undefined;this.mono_wasm_object_registry[js_id-1]=undefined;this.mono_wasm_free_list.push(js_id-1)}}return obj},mono_wasm_get_global:function(){function testGlobal(obj){obj["___mono_wasm_global___"]=obj;var success=typeof ___mono_wasm_global___==="object"&&obj["___mono_wasm_global___"]===obj;if(!success){delete obj["___mono_wasm_global___"]}return success}if(typeof ___mono_wasm_global___==="object"){return ___mono_wasm_global___}if(typeof global==="object"&&testGlobal(global)){___mono_wasm_global___=global}else if(typeof window==="object"&&testGlobal(window)){___mono_wasm_global___=window}else if(testGlobal(function(){return Function}()("return this")())){___mono_wasm_global___=function(){return Function}()("return this")()}if(typeof ___mono_wasm_global___==="object"){return ___mono_wasm_global___}throw Error("Unable to get mono wasm global object.")},mono_wasm_parse_args:function(args){var js_args=this.mono_array_to_js_array(args);this.mono_wasm_save_LMF();return js_args},mono_wasm_save_LMF:function(){BINDING.mono_wasm_owned_objects_frames.push(BINDING.mono_wasm_owned_objects_LMF);BINDING.mono_wasm_owned_objects_LMF=undefined},mono_wasm_unwind_LMF:function(){var __owned_objects__=this.mono_wasm_owned_objects_frames.pop();if(typeof __owned_objects__!=="undefined"){var refidx;for(refidx=0;refidx<__owned_objects__.length;refidx++){var ownerRelease=__owned_objects__[refidx];this.call_method(this.safehandle_release_by_handle,null,"i",[ownerRelease])}}},mono_wasm_convert_return_value:function(ret){this.mono_wasm_unwind_LMF();return this.js_to_mono_obj(ret)}};function _mono_wasm_bind_core_object(js_handle,gc_handle,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}BINDING.wasm_bind_core_clr_obj(js_handle,gc_handle);requireObject.__mono_gchandle__=gc_handle;requireObject.__js_handle__=js_handle;return gc_handle}function _mono_wasm_bind_host_object(js_handle,gc_handle,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}BINDING.wasm_bind_core_clr_obj(js_handle,gc_handle);requireObject.__mono_gchandle__=gc_handle;return gc_handle}function _mono_wasm_fire_bp(){debugger}function _mono_wasm_fire_exception(exception_id,message,class_name,uncaught){MONO.active_exception={exception_id:exception_id,message:Module.UTF8ToString(message),class_name:Module.UTF8ToString(class_name),uncaught:uncaught};debugger}function _mono_wasm_get_by_index(js_handle,property_index,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.mono_wasm_require_handle(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}try{var m=obj[property_index];return BINDING.js_to_mono_obj(m)}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||typeof res==="undefined")res="unknown exception";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_get_global_object(global_name,is_exception){BINDING.bindings_lazy_init();var js_name=BINDING.conv_string(global_name);var globalObj=undefined;if(!js_name){globalObj=BINDING.mono_wasm_get_global()}else{globalObj=BINDING.mono_wasm_get_global()[js_name]}if(globalObj===null||typeof globalObj===undefined){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Global object '"+js_name+"' not found.")}return BINDING.js_to_mono_obj(globalObj)}function _mono_wasm_get_object_property(js_handle,property_name,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.mono_wasm_require_handle(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var js_name=BINDING.conv_string(property_name);if(!js_name){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid property name object '"+js_name+"'")}var res;try{var m=obj[js_name];if(m===Object(m)&&obj.__is_mono_proxied__)m.__is_mono_proxied__=true;return BINDING.js_to_mono_obj(m)}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||typeof res==="undefined")res="unknown exception";return BINDING.js_string_to_mono_string(res)}}var DOTNET={_dotnet_get_global:function(){function testGlobal(obj){obj["___dotnet_global___"]=obj;var success=typeof ___dotnet_global___==="object"&&obj["___dotnet_global___"]===obj;if(!success){delete obj["___dotnet_global___"]}return success}if(typeof ___dotnet_global___==="object"){return ___dotnet_global___}if(typeof global==="object"&&testGlobal(global)){___dotnet_global___=global}else if(typeof window==="object"&&testGlobal(window)){___dotnet_global___=window}if(typeof ___dotnet_global___==="object"){return ___dotnet_global___}throw Error("unable to get DotNet global object.")},conv_string:function(mono_obj){return MONO.string_decoder.copy(mono_obj)}};function _mono_wasm_invoke_js_blazor(exceptionMessage,callInfo,arg0,arg1,arg2){var mono_string=DOTNET._dotnet_get_global()._mono_string_cached||(DOTNET._dotnet_get_global()._mono_string_cached=Module.cwrap("mono_wasm_string_from_js","number",["string"]));try{var blazorExports=DOTNET._dotnet_get_global().Blazor;if(!blazorExports){throw new Error("The blazor.webassembly.js library is not loaded.")}return blazorExports._internal.invokeJSFromDotNet(callInfo,arg0,arg1,arg2)}catch(ex){var exceptionJsString=ex.message+"\n"+ex.stack;var exceptionSystemString=mono_string(exceptionJsString);setValue(exceptionMessage,exceptionSystemString,"i32");return 0}}function _mono_wasm_invoke_js_marshalled(exceptionMessage,asyncHandleLongPtr,functionName,argsJson,treatResultAsVoid){var mono_string=DOTNET._dotnet_get_global()._mono_string_cached||(DOTNET._dotnet_get_global()._mono_string_cached=Module.cwrap("mono_wasm_string_from_js","number",["string"]));try{var u32Index=asyncHandleLongPtr>>2;var asyncHandleJsNumber=Module.HEAPU32[u32Index+1]*4294967296+Module.HEAPU32[u32Index];var funcNameJsString=DOTNET.conv_string(functionName);var argsJsonJsString=argsJson&&DOTNET.conv_string(argsJson);var dotNetExports=DOTNET._dotnet_get_global().DotNet;if(!dotNetExports){throw new Error("The Microsoft.JSInterop.js library is not loaded.")}if(asyncHandleJsNumber){dotNetExports.jsCallDispatcher.beginInvokeJSFromDotNet(asyncHandleJsNumber,funcNameJsString,argsJsonJsString,treatResultAsVoid);return 0}else{var resultJson=dotNetExports.jsCallDispatcher.invokeJSFromDotNet(funcNameJsString,argsJsonJsString,treatResultAsVoid);return resultJson===null?0:mono_string(resultJson)}}catch(ex){var exceptionJsString=ex.message+"\n"+ex.stack;var exceptionSystemString=mono_string(exceptionJsString);setValue(exceptionMessage,exceptionSystemString,"i32");return 0}}function _mono_wasm_invoke_js_unmarshalled(exceptionMessage,funcName,arg0,arg1,arg2){try{var funcNameJsString=DOTNET.conv_string(funcName);var dotNetExports=DOTNET._dotnet_get_global().DotNet;if(!dotNetExports){throw new Error("The Microsoft.JSInterop.js library is not loaded.")}var funcInstance=dotNetExports.jsCallDispatcher.findJSFunction(funcNameJsString);return funcInstance.call(null,arg0,arg1,arg2)}catch(ex){var exceptionJsString=ex.message+"\n"+ex.stack;var mono_string=Module.cwrap("mono_wasm_string_from_js","number",["string"]);var exceptionSystemString=mono_string(exceptionJsString);setValue(exceptionMessage,exceptionSystemString,"i32");return 0}}function _mono_wasm_invoke_js_with_args(js_handle,method_name,args,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.get_js_obj(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var js_name=BINDING.conv_string(method_name);if(!js_name){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid method name object '"+method_name+"'")}var js_args=BINDING.mono_wasm_parse_args(args);var res;try{var m=obj[js_name];if(typeof m==="undefined")throw new Error("Method: '"+js_name+"' not found for: '"+Object.prototype.toString.call(obj)+"'");var res=m.apply(obj,js_args);return BINDING.mono_wasm_convert_return_value(res)}catch(e){BINDING.mono_wasm_unwind_LMF();var res=e.toString();setValue(is_exception,1,"i32");if(res===null||res===undefined)res="unknown exception";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_new(core_name,args,is_exception){BINDING.bindings_lazy_init();var js_name=BINDING.conv_string(core_name);if(!js_name){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Core object '"+js_name+"' not found.")}var coreObj=BINDING.mono_wasm_get_global()[js_name];if(coreObj===null||typeof coreObj==="undefined"){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("JavaScript host object '"+js_name+"' not found.")}var js_args=BINDING.mono_wasm_parse_args(args);try{var allocator=function(constructor,js_args){var argsList=new Array;argsList[0]=constructor;if(js_args)argsList=argsList.concat(js_args);var obj=new(constructor.bind.apply(constructor,argsList));return obj};var res=allocator(coreObj,js_args);var gc_handle=BINDING.mono_wasm_free_list.length?BINDING.mono_wasm_free_list.pop():BINDING.mono_wasm_ref_counter++;BINDING.mono_wasm_object_registry[gc_handle]=res;return BINDING.mono_wasm_convert_return_value(gc_handle+1)}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||res===undefined)res="Error allocating object.";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_release_handle(js_handle,is_exception){BINDING.bindings_lazy_init();BINDING.mono_wasm_free_handle(js_handle)}function _mono_wasm_release_object(js_handle,is_exception){BINDING.bindings_lazy_init();BINDING.mono_wasm_free_raw_object(js_handle)}function _mono_wasm_set_by_index(js_handle,property_index,value,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.mono_wasm_require_handle(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var js_value=BINDING.unbox_mono_obj(value);BINDING.mono_wasm_save_LMF();try{obj[property_index]=js_value;BINDING.mono_wasm_unwind_LMF();return true}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||typeof res==="undefined")res="unknown exception";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_set_is_async_method(objectId){MONO._async_method_objectId=objectId}function _mono_wasm_set_object_property(js_handle,property_name,value,createIfNotExist,hasOwnProperty,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var property=BINDING.conv_string(property_name);if(!property){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid property name object '"+property_name+"'")}var result=false;var js_value=BINDING.unbox_mono_obj(value);BINDING.mono_wasm_save_LMF();if(createIfNotExist){requireObject[property]=js_value;result=true}else{result=false;if(!createIfNotExist){if(!requireObject.hasOwnProperty(property))return false}if(hasOwnProperty===true){if(requireObject.hasOwnProperty(property)){requireObject[property]=js_value;result=true}}else{requireObject[property]=js_value;result=true}}BINDING.mono_wasm_unwind_LMF();return BINDING.call_method(BINDING.box_js_bool,null,"im",[result])}function _mono_wasm_typed_array_copy_from(js_handle,pinned_array,begin,end,bytes_per_element,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var res=BINDING.typedarray_copy_from(requireObject,pinned_array,begin,end,bytes_per_element);return BINDING.js_to_mono_obj(res)}function _mono_wasm_typed_array_copy_to(js_handle,pinned_array,begin,end,bytes_per_element,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var res=BINDING.typedarray_copy_to(requireObject,pinned_array,begin,end,bytes_per_element);return BINDING.js_to_mono_obj(res)}function _mono_wasm_typed_array_from(pinned_array,begin,end,bytes_per_element,type,is_exception){BINDING.bindings_lazy_init();var res=BINDING.typed_array_from(pinned_array,begin,end,bytes_per_element,type);return BINDING.js_to_mono_obj(res)}function _mono_wasm_typed_array_to_array(js_handle,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}return BINDING.js_typed_array_to_array(requireObject)}function _usleep(useconds){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){setErrNo(28);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){dynCall_vi(routine,arg)});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_setcancelstate(){return 0}function _schedule_background_exec(){++MONO.pump_count;if(ENVIRONMENT_IS_WEB){window.setTimeout(MONO.pump_message,0)}else if(ENVIRONMENT_IS_WORKER){self.setTimeout(MONO.pump_message,0)}else if(ENVIRONMENT_IS_NODE){global.setTimeout(MONO.pump_message,0)}}function _sem_destroy(){}function _sem_init(){}function _sem_post(){}function _sem_trywait(){}function _sem_wait(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _sysconf(name){switch(name){case 30:return 16384;case 85:var maxHeapSize=2147483648;return maxHeapSize/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}setErrNo(28);return-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}return readAsmConstArgsArray}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;MONO.export_functions(Module);BINDING.export_functions(Module);function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"b":___assert_fail,"Ya":___clock_gettime,"Xa":___cxa_allocate_exception,"Wa":___cxa_begin_catch,"Va":___cxa_end_catch,"Ua":___cxa_find_matching_catch_3,"Ta":___cxa_throw,"Sa":___resumeException,"Ea":___sys_access,"Qa":___sys_chdir,"C":___sys_chmod,"Ha":___sys_fadvise64_64,"va":___sys_fchmod,"i":___sys_fcntl64,"Ka":___sys_fstat64,"Ma":___sys_ftruncate64,"Oa":___sys_getcwd,"Ia":___sys_getdents64,"g":___sys_getpid,"za":___sys_getrusage,"Aa":___sys_ioctl,"xa":___sys_link,"La":___sys_lstat64,"Ja":___sys_madvise1,"Ca":___sys_mkdir,"Na":___sys_mmap2,"Pa":___sys_msync,"wa":___sys_munmap,"A":___sys_open,"Ga":___sys_read,"ya":___sys_readlink,"Da":___sys_rename,"Ba":___sys_rmdir,"r":___sys_socketcall,"B":___sys_stat64,"Ra":___sys_unlink,"Fa":___sys_utimensat,"a":_abort,"pa":_clock_getres,"q":_clock_gettime,"oa":compile_function,"h":_emscripten_asm_const_int,"na":_emscripten_memcpy_big,"ma":_emscripten_resize_heap,"ua":_environ_get,"ta":_environ_sizes_get,"d":_exit,"m":_fd_close,"sa":_fd_fdstat_get,"ra":_fd_read,"ga":_fd_seek,"qa":_fd_sync,"x":_fd_write,"la":_flock,"ka":_gai_strerror,"ja":_getTempRet0,"k":_gettimeofday,"ia":_gmtime_r,"ha":invoke_vi,"ba":_llvm_eh_typeid_for,"p":_localtime_r,"memory":wasmMemory,"aa":_mono_set_timeout,"$":_mono_wasm_add_array_item,"fa":_mono_wasm_add_enum_var,"_":_mono_wasm_add_frame,"ea":_mono_wasm_add_func_var,"da":_mono_wasm_add_obj_var,"o":_mono_wasm_add_properties_var,"c":_mono_wasm_add_typed_value,"z":_mono_wasm_asm_loaded,"Z":_mono_wasm_bind_core_object,"Y":_mono_wasm_bind_host_object,"y":_mono_wasm_fire_bp,"X":_mono_wasm_fire_exception,"W":_mono_wasm_get_by_index,"V":_mono_wasm_get_global_object,"U":_mono_wasm_get_object_property,"T":_mono_wasm_invoke_js_blazor,"S":_mono_wasm_invoke_js_marshalled,"R":_mono_wasm_invoke_js_unmarshalled,"Q":_mono_wasm_invoke_js_with_args,"P":_mono_wasm_new,"O":_mono_wasm_release_handle,"N":_mono_wasm_release_object,"M":_mono_wasm_set_by_index,"ca":_mono_wasm_set_is_async_method,"L":_mono_wasm_set_object_property,"K":_mono_wasm_typed_array_copy_from,"J":_mono_wasm_typed_array_copy_to,"I":_mono_wasm_typed_array_from,"H":_mono_wasm_typed_array_to_array,"n":_nanosleep,"f":_pthread_cleanup_pop,"e":_pthread_cleanup_push,"l":_pthread_setcancelstate,"G":_schedule_background_exec,"w":_sem_destroy,"v":_sem_init,"u":_sem_post,"F":_sem_trywait,"E":_sem_wait,"t":_strftime,"j":_sysconf,"table":wasmTable,"s":_time,"D":_tzset};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["Za"]).apply(null,arguments)};var _mono_wasm_register_root=Module["_mono_wasm_register_root"]=function(){return(_mono_wasm_register_root=Module["_mono_wasm_register_root"]=Module["asm"]["_a"]).apply(null,arguments)};var _mono_wasm_deregister_root=Module["_mono_wasm_deregister_root"]=function(){return(_mono_wasm_deregister_root=Module["_mono_wasm_deregister_root"]=Module["asm"]["$a"]).apply(null,arguments)};var _mono_wasm_add_assembly=Module["_mono_wasm_add_assembly"]=function(){return(_mono_wasm_add_assembly=Module["_mono_wasm_add_assembly"]=Module["asm"]["ab"]).apply(null,arguments)};var _mono_wasm_assembly_already_added=Module["_mono_wasm_assembly_already_added"]=function(){return(_mono_wasm_assembly_already_added=Module["_mono_wasm_assembly_already_added"]=Module["asm"]["bb"]).apply(null,arguments)};var _mono_wasm_setenv=Module["_mono_wasm_setenv"]=function(){return(_mono_wasm_setenv=Module["_mono_wasm_setenv"]=Module["asm"]["cb"]).apply(null,arguments)};var _mono_wasm_load_runtime=Module["_mono_wasm_load_runtime"]=function(){return(_mono_wasm_load_runtime=Module["_mono_wasm_load_runtime"]=Module["asm"]["db"]).apply(null,arguments)};var _mono_wasm_assembly_load=Module["_mono_wasm_assembly_load"]=function(){return(_mono_wasm_assembly_load=Module["_mono_wasm_assembly_load"]=Module["asm"]["eb"]).apply(null,arguments)};var _mono_wasm_assembly_find_class=Module["_mono_wasm_assembly_find_class"]=function(){return(_mono_wasm_assembly_find_class=Module["_mono_wasm_assembly_find_class"]=Module["asm"]["fb"]).apply(null,arguments)};var _mono_wasm_assembly_find_method=Module["_mono_wasm_assembly_find_method"]=function(){return(_mono_wasm_assembly_find_method=Module["_mono_wasm_assembly_find_method"]=Module["asm"]["gb"]).apply(null,arguments)};var _mono_wasm_invoke_method=Module["_mono_wasm_invoke_method"]=function(){return(_mono_wasm_invoke_method=Module["_mono_wasm_invoke_method"]=Module["asm"]["hb"]).apply(null,arguments)};var _mono_wasm_assembly_get_entry_point=Module["_mono_wasm_assembly_get_entry_point"]=function(){return(_mono_wasm_assembly_get_entry_point=Module["_mono_wasm_assembly_get_entry_point"]=Module["asm"]["ib"]).apply(null,arguments)};var _mono_wasm_string_get_utf8=Module["_mono_wasm_string_get_utf8"]=function(){return(_mono_wasm_string_get_utf8=Module["_mono_wasm_string_get_utf8"]=Module["asm"]["jb"]).apply(null,arguments)};var _mono_wasm_string_convert=Module["_mono_wasm_string_convert"]=function(){return(_mono_wasm_string_convert=Module["_mono_wasm_string_convert"]=Module["asm"]["kb"]).apply(null,arguments)};var _mono_wasm_string_from_js=Module["_mono_wasm_string_from_js"]=function(){return(_mono_wasm_string_from_js=Module["_mono_wasm_string_from_js"]=Module["asm"]["lb"]).apply(null,arguments)};var _mono_wasm_string_from_utf16=Module["_mono_wasm_string_from_utf16"]=function(){return(_mono_wasm_string_from_utf16=Module["_mono_wasm_string_from_utf16"]=Module["asm"]["mb"]).apply(null,arguments)};var _mono_wasm_get_obj_type=Module["_mono_wasm_get_obj_type"]=function(){return(_mono_wasm_get_obj_type=Module["_mono_wasm_get_obj_type"]=Module["asm"]["nb"]).apply(null,arguments)};var _mono_unbox_int=Module["_mono_unbox_int"]=function(){return(_mono_unbox_int=Module["_mono_unbox_int"]=Module["asm"]["ob"]).apply(null,arguments)};var _mono_wasm_unbox_float=Module["_mono_wasm_unbox_float"]=function(){return(_mono_wasm_unbox_float=Module["_mono_wasm_unbox_float"]=Module["asm"]["pb"]).apply(null,arguments)};var _mono_wasm_array_length=Module["_mono_wasm_array_length"]=function(){return(_mono_wasm_array_length=Module["_mono_wasm_array_length"]=Module["asm"]["qb"]).apply(null,arguments)};var _mono_wasm_array_get=Module["_mono_wasm_array_get"]=function(){return(_mono_wasm_array_get=Module["_mono_wasm_array_get"]=Module["asm"]["rb"]).apply(null,arguments)};var _mono_wasm_obj_array_new=Module["_mono_wasm_obj_array_new"]=function(){return(_mono_wasm_obj_array_new=Module["_mono_wasm_obj_array_new"]=Module["asm"]["sb"]).apply(null,arguments)};var _mono_wasm_obj_array_set=Module["_mono_wasm_obj_array_set"]=function(){return(_mono_wasm_obj_array_set=Module["_mono_wasm_obj_array_set"]=Module["asm"]["tb"]).apply(null,arguments)};var _mono_wasm_string_array_new=Module["_mono_wasm_string_array_new"]=function(){return(_mono_wasm_string_array_new=Module["_mono_wasm_string_array_new"]=Module["asm"]["ub"]).apply(null,arguments)};var _mono_wasm_exec_regression=Module["_mono_wasm_exec_regression"]=function(){return(_mono_wasm_exec_regression=Module["_mono_wasm_exec_regression"]=Module["asm"]["vb"]).apply(null,arguments)};var _mono_wasm_exit=Module["_mono_wasm_exit"]=function(){return(_mono_wasm_exit=Module["_mono_wasm_exit"]=Module["asm"]["wb"]).apply(null,arguments)};var _mono_wasm_set_main_args=Module["_mono_wasm_set_main_args"]=function(){return(_mono_wasm_set_main_args=Module["_mono_wasm_set_main_args"]=Module["asm"]["xb"]).apply(null,arguments)};var _mono_wasm_strdup=Module["_mono_wasm_strdup"]=function(){return(_mono_wasm_strdup=Module["_mono_wasm_strdup"]=Module["asm"]["yb"]).apply(null,arguments)};var _mono_wasm_parse_runtime_options=Module["_mono_wasm_parse_runtime_options"]=function(){return(_mono_wasm_parse_runtime_options=Module["_mono_wasm_parse_runtime_options"]=Module["asm"]["zb"]).apply(null,arguments)};var _mono_wasm_enable_on_demand_gc=Module["_mono_wasm_enable_on_demand_gc"]=function(){return(_mono_wasm_enable_on_demand_gc=Module["_mono_wasm_enable_on_demand_gc"]=Module["asm"]["Ab"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Bb"]).apply(null,arguments)};var _mono_wasm_typed_array_new=Module["_mono_wasm_typed_array_new"]=function(){return(_mono_wasm_typed_array_new=Module["_mono_wasm_typed_array_new"]=Module["asm"]["Cb"]).apply(null,arguments)};var _mono_wasm_unbox_enum=Module["_mono_wasm_unbox_enum"]=function(){return(_mono_wasm_unbox_enum=Module["_mono_wasm_unbox_enum"]=Module["asm"]["Db"]).apply(null,arguments)};var _memset=Module["_memset"]=function(){return(_memset=Module["_memset"]=Module["asm"]["Eb"]).apply(null,arguments)};var _mono_print_method_from_ip=Module["_mono_print_method_from_ip"]=function(){return(_mono_print_method_from_ip=Module["_mono_print_method_from_ip"]=Module["asm"]["Fb"]).apply(null,arguments)};var _putchar=Module["_putchar"]=function(){return(_putchar=Module["_putchar"]=Module["asm"]["Gb"]).apply(null,arguments)};var _mono_wasm_pause_on_exceptions=Module["_mono_wasm_pause_on_exceptions"]=function(){return(_mono_wasm_pause_on_exceptions=Module["_mono_wasm_pause_on_exceptions"]=Module["asm"]["Hb"]).apply(null,arguments)};var _mono_wasm_setup_single_step=Module["_mono_wasm_setup_single_step"]=function(){return(_mono_wasm_setup_single_step=Module["_mono_wasm_setup_single_step"]=Module["asm"]["Ib"]).apply(null,arguments)};var _mono_wasm_clear_all_breakpoints=Module["_mono_wasm_clear_all_breakpoints"]=function(){return(_mono_wasm_clear_all_breakpoints=Module["_mono_wasm_clear_all_breakpoints"]=Module["asm"]["Jb"]).apply(null,arguments)};var _mono_wasm_set_breakpoint=Module["_mono_wasm_set_breakpoint"]=function(){return(_mono_wasm_set_breakpoint=Module["_mono_wasm_set_breakpoint"]=Module["asm"]["Kb"]).apply(null,arguments)};var _mono_wasm_remove_breakpoint=Module["_mono_wasm_remove_breakpoint"]=function(){return(_mono_wasm_remove_breakpoint=Module["_mono_wasm_remove_breakpoint"]=Module["asm"]["Lb"]).apply(null,arguments)};var _mono_wasm_current_bp_id=Module["_mono_wasm_current_bp_id"]=function(){return(_mono_wasm_current_bp_id=Module["_mono_wasm_current_bp_id"]=Module["asm"]["Mb"]).apply(null,arguments)};var _mono_wasm_enum_frames=Module["_mono_wasm_enum_frames"]=function(){return(_mono_wasm_enum_frames=Module["_mono_wasm_enum_frames"]=Module["asm"]["Nb"]).apply(null,arguments)};var _mono_wasm_get_deref_ptr_value=Module["_mono_wasm_get_deref_ptr_value"]=function(){return(_mono_wasm_get_deref_ptr_value=Module["_mono_wasm_get_deref_ptr_value"]=Module["asm"]["Ob"]).apply(null,arguments)};var _mono_wasm_get_local_vars=Module["_mono_wasm_get_local_vars"]=function(){return(_mono_wasm_get_local_vars=Module["_mono_wasm_get_local_vars"]=Module["asm"]["Pb"]).apply(null,arguments)};var _mono_wasm_get_object_properties=Module["_mono_wasm_get_object_properties"]=function(){return(_mono_wasm_get_object_properties=Module["_mono_wasm_get_object_properties"]=Module["asm"]["Qb"]).apply(null,arguments)};var _mono_wasm_get_array_values=Module["_mono_wasm_get_array_values"]=function(){return(_mono_wasm_get_array_values=Module["_mono_wasm_get_array_values"]=Module["asm"]["Rb"]).apply(null,arguments)};var _mono_wasm_invoke_getter_on_object=Module["_mono_wasm_invoke_getter_on_object"]=function(){return(_mono_wasm_invoke_getter_on_object=Module["_mono_wasm_invoke_getter_on_object"]=Module["asm"]["Sb"]).apply(null,arguments)};var _mono_wasm_invoke_getter_on_value=Module["_mono_wasm_invoke_getter_on_value"]=function(){return(_mono_wasm_invoke_getter_on_value=Module["_mono_wasm_invoke_getter_on_value"]=Module["asm"]["Tb"]).apply(null,arguments)};var _mono_set_timeout_exec=Module["_mono_set_timeout_exec"]=function(){return(_mono_set_timeout_exec=Module["_mono_set_timeout_exec"]=Module["asm"]["Ub"]).apply(null,arguments)};var _mono_background_exec=Module["_mono_background_exec"]=function(){return(_mono_background_exec=Module["_mono_background_exec"]=Module["asm"]["Vb"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["Wb"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Xb"]).apply(null,arguments)};var _mono_wasm_load_icu_data=Module["_mono_wasm_load_icu_data"]=function(){return(_mono_wasm_load_icu_data=Module["_mono_wasm_load_icu_data"]=Module["asm"]["Yb"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["Zb"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["_b"]).apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["$b"]).apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["ac"]).apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["bc"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["cc"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["dc"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["ec"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["fc"]).apply(null,arguments)};var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=function(){return(__ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=Module["asm"]["gc"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["hc"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["ic"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["jc"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["kc"]).apply(null,arguments)};function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["getMemory"]=getMemory;Module["UTF8ArrayToString"]=UTF8ArrayToString;Module["UTF8ToString"]=UTF8ToString;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["addFunction"]=addFunction;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); + +// SIG // Begin signature block +// SIG // MIIjnAYJKoZIhvcNAQcCoIIjjTCCI4kCAQExDzANBglg +// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor +// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC +// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg +// SIG // VagsvVL2eNoZwSMn/kERTHYZlLZ8kVFW5fagWKgnsTqg +// SIG // gg2BMIIF/zCCA+egAwIBAgITMwAAAd9r8C6Sp0q00AAA +// SIG // AAAB3zANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV +// SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +// SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +// SIG // cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT +// SIG // aWduaW5nIFBDQSAyMDExMB4XDTIwMTIxNTIxMzE0NVoX +// SIG // DTIxMTIwMjIxMzE0NVowdDELMAkGA1UEBhMCVVMxEzAR +// SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +// SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +// SIG // bjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +// SIG // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +// SIG // trsZWRAAo6nx5LhcqAsHy9uaHyPQ2VireMBI9yQUOPBj +// SIG // 7dVLA7/N+AnKFFDzJ7P+grT6GkOE4cv5GzjoP8yQJ6yX +// SIG // ojEKkXti7HW/zUiNoF11/ZWndf8j1Azl6OBjcD416tSW +// SIG // Yvh2VfdW1K+mY83j49YPm3qbKnfxwtV0nI9H092gMS0c +// SIG // pCUsxMRAZlPXksrjsFLqvgq4rnULVhjHSVOudL/yps3z +// SIG // OOmOpaPzAp56b898xC+zzHVHcKo/52IRht1FSC8V+7QH +// SIG // TG8+yzfuljiKU9QONa8GqDlZ7/vFGveB8IY2ZrtUu98n +// SIG // le0WWTcaIRHoCYvWGLLF2u1GVFJAggPipwIDAQABo4IB +// SIG // fjCCAXowHwYDVR0lBBgwFgYKKwYBBAGCN0wIAQYIKwYB +// SIG // BQUHAwMwHQYDVR0OBBYEFDj2zC/CHZDRrQnzJlT7byOl +// SIG // WfPjMFAGA1UdEQRJMEekRTBDMSkwJwYDVQQLEyBNaWNy +// SIG // b3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEWMBQG +// SIG // A1UEBRMNMjMwMDEyKzQ2MzAwOTAfBgNVHSMEGDAWgBRI +// SIG // bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmg +// SIG // R6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp +// SIG // b3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDct +// SIG // MDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcw +// SIG // AoZFaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w +// SIG // cy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDct +// SIG // MDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL +// SIG // BQADggIBAJ56h7Q8mFBWlQJLwCtHqqup4aC/eUmULt0Z +// SIG // 6We7XUPPUEd/vuwPuIa6+1eMcZpAeQTm0tGCvjACxNNm +// SIG // rY8FoD3aWEOvFnSxq6CWR5G2XYBERvu7RExZd2iheCqa +// SIG // EmhjrJGV6Uz5wmjKNj16ADFTBqbEBELMIpmatyEN50UH +// SIG // wZSdD6DDHDf/j5LPGUy9QaD2LCaaJLenKpefaugsqWWC +// SIG // MIMifPdh6bbcmxyoNWbUC1JUl3HETJboD4BHDWSWoDxI +// SIG // D2J4uG9dbJ40QIH9HckNMyPWi16k8VlFOaQiBYj09G9s +// SIG // LMc0agrchqqZBjPD/RmszvHmqJlSLQmAXCUgcgcf6UtH +// SIG // EmMAQRwGcSTg1KsUl6Ehg75k36lCV57Z1pC+KJKJNRYg +// SIG // g2eI6clzkLp2+noCF75IEO429rjtujsNJvEcJXg74TjK +// SIG // 5x7LqYjj26Myq6EmuqWhbVUofPWm1EqKEfEHWXInppqB +// SIG // YXFpBMBYOLKc72DT+JyLNfd9utVsk2kTGaHHhrp+xgk9 +// SIG // kZeud7lI/hfoPeHOtwIc0quJIXS+B5RSD9nj79vbJn1J +// SIG // x7RqusmBQy509Kv2Pg4t48JaBfBFpJB0bUrl5RVG05sK +// SIG // /5Qw4G6WYioS0uwgUw499iNC+Yud9vrh3M8PNqGQ5mJm +// SIG // JiFEjG2ToEuuYe/e64+SSejpHhFCaAFcMIIHejCCBWKg +// SIG // AwIBAgIKYQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCB +// SIG // iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWlj +// SIG // cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +// SIG // IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +// SIG // OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz +// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD +// SIG // Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDEx +// SIG // MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +// SIG // q/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4Bjga +// SIG // BEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSH +// SIG // fpRgJGyvnkmc6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpg +// SIG // GgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpc +// SIG // oRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnn +// SIG // Db6gE3e+lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD +// SIG // 2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLT +// SIG // swM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOE +// SIG // y/S6A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2 +// SIG // z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +// SIG // A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +// SIG // 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uD +// SIG // jexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmnEyim +// SIG // p31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh +// SIG // hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX +// SIG // 3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0wggHpMBAG +// SIG // CSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXT +// SIG // gqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMA +// SIG // dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +// SIG // AwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx +// SIG // 0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3Js +// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N +// SIG // aWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4G +// SIG // CCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDov +// SIG // L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNS +// SIG // b29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +// SIG // HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +// SIG // BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br +// SIG // aW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsGAQUF +// SIG // BwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5 +// SIG // AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3 +// SIG // DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKbC5YR4WOS +// SIG // mUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np +// SIG // 22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r +// SIG // 4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6I/MTfaaQdION +// SIG // 9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWlu +// SIG // WpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiX +// SIG // mE0OPQvyCInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ +// SIG // 2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNA +// SIG // BQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPD +// SIG // XVJihsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yH +// SIG // PgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +// SIG // XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +// SIG // oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5 +// SIG // GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33VtY5E9 +// SIG // 0Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO +// SIG // SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFXMw +// SIG // ghVvAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQI +// SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAm +// SIG // BgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENB +// SIG // IDIwMTECEzMAAAHfa/AukqdKtNAAAAAAAd8wDQYJYIZI +// SIG // AWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQB +// SIG // gjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcC +// SIG // ARUwLwYJKoZIhvcNAQkEMSIEIGU3e8rJC5BvuKZQATk9 +// SIG // saYarX/W1RLmPTfI6uX6BUQqMEIGCisGAQQBgjcCAQwx +// SIG // NDAyoBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRw +// SIG // Oi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +// SIG // BQAEggEAZW8ghdcCZJoi5A4Ec98SN5vGc4wrGnP9FSpW +// SIG // AIkO5ME5x3ZJ6GQ/o4su6sjvqeAaQk6JyxXW+o3DwAI5 +// SIG // vYPNpRWr0loSCIvx4APumwlf2Lp4VgdT8B9UUpw4IH3U +// SIG // Mc5H4kKEzOntWwvOqDet87Kn6twHEWcM/6leYNI8kT9Q +// SIG // rPdzpH7kA7LcCOui04HsJ2CzzOtm6hbbHR7x0sxclQOu +// SIG // qqto3ub/1/EU+VTbVK1pMMVjPnQ3IxsYMmBJfVYOTQ2s +// SIG // VEVAhXGku8+lya2CqrxCsFjjTBsZ5M4q85S8CufwACnl +// SIG // Qh1hreLQgmXLVlEQ1f401VLVrzVfYFcz0ABRGjf2n6GC +// SIG // Ev0wghL5BgorBgEEAYI3AwMBMYIS6TCCEuUGCSqGSIb3 +// SIG // DQEHAqCCEtYwghLSAgEDMQ8wDQYJYIZIAWUDBAIBBQAw +// SIG // ggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYK +// SIG // KwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCAFeHs0 +// SIG // rrL2o5c7M/NC6+/044ilm8s6ztovUxBHLVGjRgIGYLAF +// SIG // fIAdGBMyMDIxMDYxNTIwMDcxMi4yMjdaMASAAgH0oIHY +// SIG // pIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz +// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +// SIG // EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp +// SIG // bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg2 +// SIG // REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBTZXJ2aWNloIIOTDCCBPkwggPhoAMC +// SIG // AQICEzMAAAE+zsp3UsX3NCsAAAAAAT4wDQYJKoZIhvcN +// SIG // AQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw +// SIG // HhcNMjAxMDE1MTcyODI1WhcNMjIwMTEyMTcyODI1WjCB +// SIG // 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWlj +// SIG // cm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVk +// SIG // MSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRC +// SIG // QkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +// SIG // U3RhbXAgU2VydmljZTCCASIwDQYJKoZIhvcNAQEBBQAD +// SIG // ggEPADCCAQoCggEBALxUxMg82X6cLONOIEgtJLeFUsl/ +// SIG // 72scDn64vPYEHcb30Db70AEXmykd6Zah89GR2Vvm5hcc +// SIG // hrU4fc8NtC0naTHFmAxXNa8z7ib0zQJw5CskD/k6q1u4 +// SIG // /5Q5Qi26ovLm6OBKkqZB62tGbdeY9q/yCRmW7t0GkWOq +// SIG // mDGccZJMOGObmwMFdxNafkzcxYPJ84CfZMBDOMb2QH/T +// SIG // YR4TNiv48dPdsZischX6dF9LW6GPXdTsoXQl5fLKTooB +// SIG // N9oPMx9dmNjV03yONeNS0FPvXSjikO2BRdZMKH7hhsMT +// SIG // FNArA4pjg1oK+lRVXDQ3drUGxrm4HXywRhAX43tD8qDj +// SIG // lxDtZuECAwEAAaOCARswggEXMB0GA1UdDgQWBBSTWvOd +// SIG // +LvQYi1r8LW2VA62hoj9ezAfBgNVHSMEGDAWgBTVYzpc +// SIG // ijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBH +// SIG // hkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +// SIG // bC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0FfMjAxMC0wNy0w +// SIG // MS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAC +// SIG // hj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl +// SIG // cnRzL01pY1RpbVN0YVBDQV8yMDEwLTA3LTAxLmNydDAM +// SIG // BgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMI +// SIG // MA0GCSqGSIb3DQEBCwUAA4IBAQCms/kRfVqfhpK5FY+n +// SIG // GOXYwnVXqSRcrnwASdaipQll4TqGAHAe8O2cc0QuGdom +// SIG // OG3PUFPd7GtmA8IUMBT3qnymX1kpJq3LrOPUAfRBj3PR +// SIG // cCIHwUCtgCbYWmBMrE2sEuNH+snOsP8m6LQHJahQK/gT +// SIG // w7dMxmaBMbxnPGaVQGab0sl28xi7irZvCvke91QuA1Ke +// SIG // LERXJNQsfCC72HWEjWKjkcodBsIt7+B1psOh7rWnxTnR +// SIG // Y2ikBHErJ9EjS32Nuajqp7ugy/jQKO896g9HgQyEopVq +// SIG // G+XZZQ3DjX7LvfVBLTp623ZdvdshjSMsYpaSPFxjYBnG +// SIG // cSjelaiwcQLipVjmMIIGcTCCBFmgAwIBAgIKYQmBKgAA +// SIG // AAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMC +// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT +// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +// SIG // b3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3Qg +// SIG // Q2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAw +// SIG // NzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYD +// SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +// SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +// SIG // IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcN +// SIG // AQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1 +// SIG // +n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw +// SIG // FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024 +// SIG // OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeG +// SIG // MoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC732H8 +// SIG // RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR +// SIG // 0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw2k4G +// SIG // kbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzA +// SIG // yURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQB +// SIG // gjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ80N7fEYb +// SIG // xTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMA +// SIG // QTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAf +// SIG // BgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBW +// SIG // BgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jv +// SIG // c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29D +// SIG // ZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEE +// SIG // TjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +// SIG // c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y +// SIG // MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGP +// SIG // BgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6 +// SIG // Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9DUFMv +// SIG // ZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABl +// SIG // AGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0AGUA +// SIG // bQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAAfm +// SIG // iFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20Z +// SIG // MLPCxWbJat/15/B4vceoniXj+bzta1RXCCtRgkQS+7lT +// SIG // jMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/ +// SIG // xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbK +// SIG // egBvSzBEJCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/62 +// SIG // 5Y4zu2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpx +// SIG // Y517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqW +// SIG // hqS9nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlX +// SIG // dqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ +// SIG // 3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3 +// SIG // 3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJ +// SIG // KlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffI +// SIG // rE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0Mkvf +// SIG // Y3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA +// SIG // /czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc1bN+ +// SIG // NR4Iuto229Nfj950iEkSoYIC1jCCAj8CAQEwggEAoYHY +// SIG // pIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz +// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +// SIG // EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp +// SIG // bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg2 +// SIG // REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoD +// SIG // FQCgTBXo9MYwk4wpNbE3Uymvk8yQ1KCBgzCBgKR+MHwx +// SIG // CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +// SIG // MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +// SIG // b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv +// SIG // c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3 +// SIG // DQEBBQUAAgUA5HLm3TAiGA8yMDIxMDYxNTE2NDQxM1oY +// SIG // DzIwMjEwNjE2MTY0NDEzWjB2MDwGCisGAQQBhFkKBAEx +// SIG // LjAsMAoCBQDkcubdAgEAMAkCAQACAWsCAf8wBwIBAAIC +// SIG // E64wCgIFAOR0OF0CAQAwNgYKKwYBBAGEWQoEAjEoMCYw +// SIG // DAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQAC +// SIG // AwGGoDANBgkqhkiG9w0BAQUFAAOBgQC2UghGUpHj98Y0 +// SIG // DbTyejbjMycaiW4D1rJdjyllBofFfBFnfP/lhIm/qdSf +// SIG // dT/NabrA4eSf69U02qVXJFmU4xOm6WbI296eQ5Jbu030 +// SIG // SjJpDq0t5lJ1PzN/AcvsazjXNdWtkklGMztIefMLb4/Z +// SIG // iUYxcrIuUBmJ7eBmXANy4dXjITGCAw0wggMJAgEBMIGT +// SIG // MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +// SIG // dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +// SIG // aWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p +// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB +// SIG // Ps7Kd1LF9zQrAAAAAAE+MA0GCWCGSAFlAwQCAQUAoIIB +// SIG // SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJ +// SIG // KoZIhvcNAQkEMSIEIL8fYkPAyu5SRLqmwkD41oRXbH6V +// SIG // FLIGfZOdFSUE+upKMIH6BgsqhkiG9w0BCRACLzGB6jCB +// SIG // 5zCB5DCBvQQgi+vOjaqNTvKOZGut49HXrqtwUj2ZCnVO +// SIG // urBwfgQxmxMwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzET +// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 +// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt +// SIG // cCBQQ0EgMjAxMAITMwAAAT7OyndSxfc0KwAAAAABPjAi +// SIG // BCDLZUh4fhcPzsBvPMpgwcYkq9iBla1/pTiZIJwQ8zJu +// SIG // 4DANBgkqhkiG9w0BAQsFAASCAQBTHtTj/nplYB5DHV+V +// SIG // 5ghNhNUYUhDPHXDmbd08n2XxxgPyQ1IyRqgyJegl1uFJ +// SIG // ABsZ0chybTURShF74yH5AYUfkD4mU418O1Zk+gkdB7wp +// SIG // PCJDoZqV3lvixPf+6g5FonMUBvYYKUluFSmcToYx6gBQ +// SIG // ZN+X0DPJvjZtTz/17sgUbj53219bJgdyvcEYbtz/obyv +// SIG // XUrti3BHRSePXrdHaVabFACkspa9odzsE3ZTnESKmBC8 +// SIG // qI73SSQ1u3D6z38qM72zypVxtQDR1GN608h91Z7nfQ7D +// SIG // u2N/6MgUnq17StUkpvzDBfqPZKS6R1qlmETXDlLW+K0V +// SIG // 0/9NoxB8X1Hl2Ih7 +// SIG // End signature block diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.timezones.blat b/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.timezones.blat new file mode 100755 index 0000000..f2a17a1 Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.timezones.blat differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.wasm b/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.wasm new file mode 100755 index 0000000..e91c22a Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.wasm differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/icudt.dat b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt.dat new file mode 100755 index 0000000..1276e87 Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt.dat differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_CJK.dat b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_CJK.dat new file mode 100755 index 0000000..5009bb6 Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_CJK.dat differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_EFIGS.dat b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_EFIGS.dat new file mode 100755 index 0000000..93634f7 Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_EFIGS.dat differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_no_CJK.dat b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_no_CJK.dat new file mode 100755 index 0000000..e87a34b Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_no_CJK.dat differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Client.pdb b/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Client.pdb new file mode 100644 index 0000000..cec2748 Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Client.pdb differ diff --git a/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Shared.pdb b/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Shared.pdb new file mode 100644 index 0000000..6e145af Binary files /dev/null and b/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Shared.pdb differ diff --git a/Client/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs b/Client/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2f7e5ec --- /dev/null +++ b/Client/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")] diff --git a/Client/obj/Debug/net5.0/Razor/App.razor.g.cs b/Client/obj/Debug/net5.0/Razor/App.razor.g.cs new file mode 100644 index 0000000..4a57d5c --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/App.razor.g.cs @@ -0,0 +1,152 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/App.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "021d7d5decb5589f6f6be24d5824910fbe91f48b" +// +#pragma warning disable 1591 +namespace spanreed.Client +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class App : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.OpenComponent(0); + __builder.AddAttribute(1, "AppAssembly", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/App.razor" + typeof(Program).Assembly + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(2, "PreferExactMatches", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/App.razor" + true + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(3, "Found", (Microsoft.AspNetCore.Components.RenderFragment)((routeData) => (__builder2) => { + __builder2.OpenComponent(4); + __builder2.AddAttribute(5, "RouteData", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/App.razor" + routeData + +#line default +#line hidden +#nullable disable + )); + __builder2.AddAttribute(6, "DefaultLayout", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/App.razor" + typeof(MainLayout) + +#line default +#line hidden +#nullable disable + )); + __builder2.CloseComponent(); + } + )); + __builder.AddAttribute(7, "NotFound", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => { + __builder2.OpenComponent(8); + __builder2.AddAttribute(9, "Layout", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/App.razor" + typeof(MainLayout) + +#line default +#line hidden +#nullable disable + )); + __builder2.AddAttribute(10, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder3) => { + __builder3.AddMarkupContent(11, "

Sorry, there\'s nothing at this address.

"); + } + )); + __builder2.CloseComponent(); + } + )); + __builder.CloseComponent(); + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/Pages/FetchData.razor.g.cs b/Client/obj/Debug/net5.0/Razor/Pages/FetchData.razor.g.cs new file mode 100644 index 0000000..69361d2 --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/Pages/FetchData.razor.g.cs @@ -0,0 +1,211 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "47364f55a5b8fef25146e20806238680e72c5bba" +// +#pragma warning disable 1591 +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" +using spanreed.Shared; + +#line default +#line hidden +#nullable disable + [Microsoft.AspNetCore.Components.RouteAttribute("/fetchdata")] + public partial class FetchData : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.AddMarkupContent(0, "

Weather forecast

\r\n\r\n"); + __builder.AddMarkupContent(1, "

This component demonstrates fetching data from the server.

"); +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + if (forecasts == null) +{ + +#line default +#line hidden +#nullable disable + __builder.AddMarkupContent(2, "

Loading...

"); +#nullable restore +#line 12 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" +} +else +{ + +#line default +#line hidden +#nullable disable + __builder.OpenElement(3, "table"); + __builder.AddAttribute(4, "class", "table"); + __builder.AddMarkupContent(5, "Date\r\n Temp. (C)\r\n Temp. (F)\r\n Summary\r\n "); + __builder.OpenElement(6, "tbody"); +#nullable restore +#line 25 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + foreach (var forecast in forecasts) + { + +#line default +#line hidden +#nullable disable + __builder.OpenElement(7, "tr"); + __builder.OpenElement(8, "td"); + __builder.AddContent(9, +#nullable restore +#line 28 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + forecast.Date.ToShortDateString() + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.AddMarkupContent(10, "\r\n "); + __builder.OpenElement(11, "td"); + __builder.AddContent(12, +#nullable restore +#line 29 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + forecast.TemperatureC + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.AddMarkupContent(13, "\r\n "); + __builder.OpenElement(14, "td"); + __builder.AddContent(15, +#nullable restore +#line 30 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + forecast.TemperatureF + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.AddMarkupContent(16, "\r\n "); + __builder.OpenElement(17, "td"); + __builder.AddContent(18, +#nullable restore +#line 31 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + forecast.Summary + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.CloseElement(); +#nullable restore +#line 33 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + } + +#line default +#line hidden +#nullable disable + __builder.CloseElement(); + __builder.CloseElement(); +#nullable restore +#line 36 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" +} + +#line default +#line hidden +#nullable disable + } + #pragma warning restore 1998 +#nullable restore +#line 38 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + + private WeatherForecast[] forecasts; + + protected override async Task OnInitializedAsync() + { + forecasts = await Http.GetFromJsonAsync("WeatherForecast"); + } + + +#line default +#line hidden +#nullable disable + [global::Microsoft.AspNetCore.Components.InjectAttribute] private HttpClient Http { get; set; } + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/Pages/Index.razor.g.cs b/Client/obj/Debug/net5.0/Razor/Pages/Index.razor.g.cs new file mode 100644 index 0000000..b8ff3e7 --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/Pages/Index.razor.g.cs @@ -0,0 +1,96 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/Pages/Index.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1263182b655a2f6cfafbc021a8a9bf970c0ef315" +// +#pragma warning disable 1591 +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + [Microsoft.AspNetCore.Components.RouteAttribute("/")] + public partial class Index : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.AddMarkupContent(0, "

Hello, world!

\r\n\r\nWelcome to your new app.\r\n\r\n"); + __builder.OpenComponent(1); + __builder.AddAttribute(2, "Title", "How is Blazor working for you?"); + __builder.CloseComponent(); + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/Pages/MessageComponent.razor.g.cs b/Client/obj/Debug/net5.0/Razor/Pages/MessageComponent.razor.g.cs new file mode 100644 index 0000000..8118c2f --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/Pages/MessageComponent.razor.g.cs @@ -0,0 +1,144 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/Pages/MessageComponent.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "bc093ea7d7c4b2f990f4c136d75ec0b5170e826f" +// +#pragma warning disable 1591 +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class MessageComponent : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.OpenElement(0, "h4"); + __builder.AddAttribute(1, "class", "message-author"); + __builder.AddContent(2, +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/Pages/MessageComponent.razor" + author + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.AddMarkupContent(3, "\n"); + __builder.OpenElement(4, "p"); + __builder.AddAttribute(5, "class", "message-timestamp"); + __builder.AddContent(6, +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/Pages/MessageComponent.razor" + timestamp.ToString("g") + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.AddMarkupContent(7, "\n"); + __builder.OpenElement(8, "p"); + __builder.AddAttribute(9, "class", "message-content"); + __builder.AddContent(10, +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/Pages/MessageComponent.razor" + content + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + } + #pragma warning restore 1998 +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/Pages/MessageComponent.razor" + + [Parameter] + public DateTime timestamp {get; set;} + + [Parameter] + public string author {get; set;} + + [Parameter] + public string content {get; set;} + +#line default +#line hidden +#nullable disable + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/Pages/Room.razor.g.cs b/Client/obj/Debug/net5.0/Razor/Pages/Room.razor.g.cs new file mode 100644 index 0000000..104c5e0 --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/Pages/Room.razor.g.cs @@ -0,0 +1,274 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/Pages/Room.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e9210fc4d52c122734885a31546ddcef421c3afb" +// +#pragma warning disable 1591 +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/Pages/Room.razor" +using Microsoft.AspNetCore.SignalR.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/Pages/Room.razor" +using spanreed.Shared; + +#line default +#line hidden +#nullable disable + [Microsoft.AspNetCore.Components.RouteAttribute("/{room}")] + public partial class Room : Microsoft.AspNetCore.Components.ComponentBase, IDisposable + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.OpenElement(0, "div"); + __builder.AddAttribute(1, "class", "form-group"); + __builder.OpenElement(2, "label"); + __builder.AddMarkupContent(3, "\n User:\n "); + __builder.OpenElement(4, "input"); + __builder.AddAttribute(5, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue( +#nullable restore +#line 11 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + userInput + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(6, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => userInput = __value, userInput)); + __builder.SetUpdatesAttributeName("value"); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.AddMarkupContent(7, "\n"); + __builder.OpenElement(8, "div"); + __builder.AddAttribute(9, "class", "form-group"); + __builder.OpenElement(10, "label"); + __builder.AddMarkupContent(11, "\n Message:\n "); + __builder.OpenElement(12, "input"); + __builder.AddAttribute(13, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue( +#nullable restore +#line 17 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + messageInput + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(14, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => messageInput = __value, messageInput)); + __builder.SetUpdatesAttributeName("value"); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.AddMarkupContent(15, "\n"); + __builder.OpenElement(16, "button"); + __builder.AddAttribute(17, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this, +#nullable restore +#line 20 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + Send + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(18, "disabled", +#nullable restore +#line 20 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + !IsConnected + +#line default +#line hidden +#nullable disable + ); + __builder.AddContent(19, "Send"); + __builder.CloseElement(); + __builder.AddMarkupContent(20, "\n\n
\n\n"); + __builder.OpenElement(21, "ul"); + __builder.AddAttribute(22, "id", "messagesList"); +#nullable restore +#line 25 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + foreach (var message in messages) + { + +#line default +#line hidden +#nullable disable + __builder.OpenElement(23, "li"); + __builder.OpenComponent(24); + __builder.AddAttribute(25, "author", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 27 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + message.Author + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(26, "content", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 27 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + message.Content + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(27, "timestamp", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck( +#nullable restore +#line 27 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + message.Timestamp + +#line default +#line hidden +#nullable disable + )); + __builder.CloseComponent(); + __builder.CloseElement(); +#nullable restore +#line 28 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + } + +#line default +#line hidden +#nullable disable + __builder.CloseElement(); + } + #pragma warning restore 1998 +#nullable restore +#line 31 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + + private HubConnection hubConnection; + private List messages = new List(); + private string userInput; + private string messageInput; + [Parameter] + public string room {get; set;} + + protected override async Task OnParametersSetAsync() { + if (hubConnection != null) { + try { + await hubConnection.StopAsync(); + } + finally { + await hubConnection.DisposeAsync(); + } + } + + messages.Clear(); + messageInput = ""; + + hubConnection = new HubConnectionBuilder().WithUrl(NavigationManager.ToAbsoluteUri("/sendmessage")).Build(); + hubConnection.On("Received", (author, content, timestamp) => { + messages.Add(new ChatData{Author = author, Content = content, Timestamp = timestamp}); + StateHasChanged(); + }); + var old_messages = await Http.GetFromJsonAsync($"Chat/{room}"); + + if (old_messages != null) { + foreach (var message in old_messages) + { + messages.Add(message); + } + } + + await hubConnection.StartAsync(); + + await hubConnection.SendAsync("Connect", room); + } + + Task Send() => + hubConnection.SendAsync("sendMessage", userInput, messageInput, room, DateTime.Now); + + public bool IsConnected => + hubConnection.State == HubConnectionState.Connected; + + public void Dispose() { + _ = hubConnection.DisposeAsync(); + } + +#line default +#line hidden +#nullable disable + [global::Microsoft.AspNetCore.Components.InjectAttribute] private HttpClient Http { get; set; } + [global::Microsoft.AspNetCore.Components.InjectAttribute] private NavigationManager NavigationManager { get; set; } + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/Shared/MainLayout.razor.g.cs b/Client/obj/Debug/net5.0/Razor/Shared/MainLayout.razor.g.cs new file mode 100644 index 0000000..c6515df --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/Shared/MainLayout.razor.g.cs @@ -0,0 +1,120 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/Shared/MainLayout.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "d23e108e6e23834cd571c3cf8a6398a72311f6e8" +// +#pragma warning disable 1591 +namespace spanreed.Client.Shared +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class MainLayout : LayoutComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.OpenElement(0, "div"); + __builder.AddAttribute(1, "class", "page"); + __builder.AddAttribute(2, "b-t3ecffniqe"); + __builder.OpenElement(3, "div"); + __builder.AddAttribute(4, "class", "sidebar"); + __builder.AddAttribute(5, "b-t3ecffniqe"); + __builder.OpenComponent(6); + __builder.CloseComponent(); + __builder.CloseElement(); + __builder.AddMarkupContent(7, "\r\n\r\n "); + __builder.OpenElement(8, "div"); + __builder.AddAttribute(9, "class", "main"); + __builder.AddAttribute(10, "b-t3ecffniqe"); + __builder.AddMarkupContent(11, "\r\n\r\n "); + __builder.OpenElement(12, "div"); + __builder.AddAttribute(13, "class", "content px-4"); + __builder.AddAttribute(14, "b-t3ecffniqe"); + __builder.AddContent(15, +#nullable restore +#line 14 "/home/skins/projects/spanreed/Client/Shared/MainLayout.razor" + Body + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.CloseElement(); + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/Shared/NavMenu.razor.g.cs b/Client/obj/Debug/net5.0/Razor/Shared/NavMenu.razor.g.cs new file mode 100644 index 0000000..17aaf15 --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/Shared/NavMenu.razor.g.cs @@ -0,0 +1,289 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e0a2642c7baa3781ff8bc4211e652dc9a95f8ceb" +// +#pragma warning disable 1591 +namespace spanreed.Client.Shared +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" +using Microsoft.AspNetCore.SignalR.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" +using spanreed.Shared; + +#line default +#line hidden +#nullable disable + public partial class NavMenu : Microsoft.AspNetCore.Components.ComponentBase, IDisposable + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.OpenElement(0, "div"); + __builder.AddAttribute(1, "class", "top-row pl-4 navbar navbar-dark"); + __builder.AddAttribute(2, "b-9ym6xv191f"); + __builder.AddMarkupContent(3, "spanreed\r\n "); + __builder.OpenElement(4, "button"); + __builder.AddAttribute(5, "class", "navbar-toggler"); + __builder.AddAttribute(6, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this, +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + ToggleNavMenu + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(7, "b-9ym6xv191f"); + __builder.AddMarkupContent(8, ""); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.AddMarkupContent(9, "\r\n\r\n"); + __builder.OpenElement(10, "div"); + __builder.AddAttribute(11, "class", +#nullable restore +#line 14 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + NavMenuCssClass + +#line default +#line hidden +#nullable disable + ); + __builder.AddAttribute(12, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this, +#nullable restore +#line 14 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + ToggleNavMenu + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(13, "b-9ym6xv191f"); + __builder.OpenElement(14, "ul"); + __builder.AddAttribute(15, "class", "nav flex-column"); + __builder.AddAttribute(16, "b-9ym6xv191f"); +#nullable restore +#line 16 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + foreach (var room in rooms) { + +#line default +#line hidden +#nullable disable + __builder.OpenElement(17, "li"); + __builder.AddAttribute(18, "class", "nav-item px-3"); + __builder.AddAttribute(19, "b-9ym6xv191f"); + __builder.OpenComponent(20); + __builder.AddAttribute(21, "class", "nav-link"); + __builder.AddAttribute(22, "href", +#nullable restore +#line 18 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + room + +#line default +#line hidden +#nullable disable + ); + __builder.AddAttribute(23, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => { + __builder2.AddMarkupContent(24, " "); + __builder2.AddContent(25, +#nullable restore +#line 19 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + room + +#line default +#line hidden +#nullable disable + ); + } + )); + __builder.CloseComponent(); + __builder.CloseElement(); +#nullable restore +#line 22 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + } + +#line default +#line hidden +#nullable disable + __builder.OpenElement(26, "li"); + __builder.AddAttribute(27, "class", "nav-item px-3"); + __builder.AddAttribute(28, "b-9ym6xv191f"); + __builder.AddMarkupContent(29, " "); + __builder.OpenElement(30, "input"); + __builder.AddAttribute(31, "id", "nav-text"); + __builder.AddAttribute(32, "class", "nav"); + __builder.AddAttribute(33, "type", "text"); + __builder.AddAttribute(34, "onkeypress", Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this, +#nullable restore +#line 24 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + EnterBar + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(35, "placeholder", "Create Room"); + __builder.AddAttribute(36, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue( +#nullable restore +#line 24 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + NewRoomBox + +#line default +#line hidden +#nullable disable + )); + __builder.AddAttribute(37, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => NewRoomBox = __value, NewRoomBox)); + __builder.SetUpdatesAttributeName("value"); + __builder.AddAttribute(38, "b-9ym6xv191f"); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.CloseElement(); + __builder.CloseElement(); + } + #pragma warning restore 1998 +#nullable restore +#line 29 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + + private string NewRoom; + private string NewRoomBox; + private bool collapseNavMenu = true; + + private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; + + private void ToggleNavMenu() + { + collapseNavMenu = !collapseNavMenu; + } + + private HubConnection hubConnection; + private List rooms = new List(); + + protected override async Task OnInitializedAsync() { + hubConnection = new HubConnectionBuilder().WithUrl(NavigationManager.ToAbsoluteUri("/addroom")).Build(); + hubConnection.On("NewRoom", name => { + rooms.Add(name); + rooms.Sort(); + StateHasChanged(); + }); + var existing_rooms = await Http.GetFromJsonAsync("Room"); + + if (existing_rooms != null) { + foreach (var room in existing_rooms) + { + rooms.Add(room); + rooms.Sort(); + } + } + await hubConnection.StartAsync(); + var roomName = NavigationManager.Uri.Split("/").LastOrDefault(); + if (roomName.Length > 0) { + await hubConnection.SendAsync("AddRoom", NavigationManager.Uri.Split("/").LastOrDefault()); + } + } + + async Task EnterBar(KeyboardEventArgs e) { + if (e.Key.Equals("Enter")) { + Console.WriteLine(NewRoom); + await hubConnection.SendAsync("AddRoom", NewRoom); + NavigationManager.NavigateTo(NewRoom); + NewRoom = ""; + NewRoomBox = ""; + } else if (e.Key.Length == 1) { + NewRoom = NewRoom + e.Key; + } + } + + public bool IsConnected => + hubConnection.State == HubConnectionState.Connected; + + public void Dispose() { + _ = hubConnection.DisposeAsync(); + } + +#line default +#line hidden +#nullable disable + [global::Microsoft.AspNetCore.Components.InjectAttribute] private HttpClient Http { get; set; } + [global::Microsoft.AspNetCore.Components.InjectAttribute] private NavigationManager NavigationManager { get; set; } + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/Shared/SurveyPrompt.razor.g.cs b/Client/obj/Debug/net5.0/Razor/Shared/SurveyPrompt.razor.g.cs new file mode 100644 index 0000000..a0f40e1 --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/Shared/SurveyPrompt.razor.g.cs @@ -0,0 +1,119 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/Shared/SurveyPrompt.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "f0ca97974fd714c47e8b8add7fc5d416adf077b6" +// +#pragma warning disable 1591 +namespace spanreed.Client.Shared +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class SurveyPrompt : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + __builder.OpenElement(0, "div"); + __builder.AddAttribute(1, "class", "alert alert-secondary mt-4"); + __builder.AddAttribute(2, "role", "alert"); + __builder.AddMarkupContent(3, "\r\n "); + __builder.OpenElement(4, "strong"); + __builder.AddContent(5, +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/Shared/SurveyPrompt.razor" + Title + +#line default +#line hidden +#nullable disable + ); + __builder.CloseElement(); + __builder.AddMarkupContent(6, "\r\n\r\n "); + __builder.AddMarkupContent(7, "\r\n Please take our\r\n brief survey\r\n and tell us what you think.\r\n"); + __builder.CloseElement(); + } + #pragma warning restore 1998 +#nullable restore +#line 12 "/home/skins/projects/spanreed/Client/Shared/SurveyPrompt.razor" + + // Demonstrates how a parent component can supply parameters + [Parameter] + public string Title { get; set; } + +#line default +#line hidden +#nullable disable + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/Razor/_Imports.razor.g.cs b/Client/obj/Debug/net5.0/Razor/_Imports.razor.g.cs new file mode 100644 index 0000000..a38b420 --- /dev/null +++ b/Client/obj/Debug/net5.0/Razor/_Imports.razor.g.cs @@ -0,0 +1,91 @@ +#pragma checksum "/home/skins/projects/spanreed/Client/_Imports.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e6cea66632015c540494fe404e28b750183317ed" +// +#pragma warning disable 1591 +namespace spanreed.Client +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class _Imports : System.Object + { + #pragma warning disable 1998 + protected void Execute() + { + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/App.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/App.razor.g.cs new file mode 100644 index 0000000..5fa9e6e --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/App.razor.g.cs @@ -0,0 +1,94 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class App : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Pages/FetchData.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/FetchData.razor.g.cs new file mode 100644 index 0000000..98c26b9 --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/FetchData.razor.g.cs @@ -0,0 +1,117 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" +using spanreed.Shared; + +#line default +#line hidden +#nullable disable + [Microsoft.AspNetCore.Components.RouteAttribute("/fetchdata")] + public partial class FetchData : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 +#nullable restore +#line 38 "/home/skins/projects/spanreed/Client/Pages/FetchData.razor" + + private WeatherForecast[] forecasts; + + protected override async Task OnInitializedAsync() + { + forecasts = await Http.GetFromJsonAsync("WeatherForecast"); + } + + +#line default +#line hidden +#nullable disable + [global::Microsoft.AspNetCore.Components.InjectAttribute] private HttpClient Http { get; set; } + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Index.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Index.razor.g.cs new file mode 100644 index 0000000..b292d42 --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Index.razor.g.cs @@ -0,0 +1,95 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + [Microsoft.AspNetCore.Components.RouteAttribute("/")] + public partial class Index : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Message.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Message.razor.g.cs new file mode 100644 index 0000000..b59d98f --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Message.razor.g.cs @@ -0,0 +1,94 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class Message : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Pages/MessageComponent.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/MessageComponent.razor.g.cs new file mode 100644 index 0000000..d550dd3 --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/MessageComponent.razor.g.cs @@ -0,0 +1,109 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class MessageComponent : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/Pages/MessageComponent.razor" + + [Parameter] + public DateTime timestamp {get; set;} + + [Parameter] + public string author {get; set;} + + [Parameter] + public string content {get; set;} + +#line default +#line hidden +#nullable disable + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Room.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Room.razor.g.cs new file mode 100644 index 0000000..3c8ab0c --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Room.razor.g.cs @@ -0,0 +1,166 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Pages +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/Pages/Room.razor" +using Microsoft.AspNetCore.SignalR.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/Pages/Room.razor" +using spanreed.Shared; + +#line default +#line hidden +#nullable disable + [Microsoft.AspNetCore.Components.RouteAttribute("/{room}")] + public partial class Room : Microsoft.AspNetCore.Components.ComponentBase, IDisposable + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 +#nullable restore +#line 31 "/home/skins/projects/spanreed/Client/Pages/Room.razor" + + private HubConnection hubConnection; + private List messages = new List(); + private string userInput; + private string messageInput; + [Parameter] + public string room {get; set;} + + protected override async Task OnParametersSetAsync() { + if (hubConnection != null) { + try { + await hubConnection.StopAsync(); + } + finally { + await hubConnection.DisposeAsync(); + } + } + + messages.Clear(); + messageInput = ""; + + hubConnection = new HubConnectionBuilder().WithUrl(NavigationManager.ToAbsoluteUri("/sendmessage")).Build(); + hubConnection.On("Received", (author, content, timestamp) => { + messages.Add(new ChatData{Author = author, Content = content, Timestamp = timestamp}); + StateHasChanged(); + }); + var old_messages = await Http.GetFromJsonAsync($"Chat/{room}"); + + if (old_messages != null) { + foreach (var message in old_messages) + { + messages.Add(message); + } + } + + await hubConnection.StartAsync(); + + await hubConnection.SendAsync("Connect", room); + } + + Task Send() => + hubConnection.SendAsync("sendMessage", userInput, messageInput, room, DateTime.Now); + + public bool IsConnected => + hubConnection.State == HubConnectionState.Connected; + + public void Dispose() { + _ = hubConnection.DisposeAsync(); + } + +#line default +#line hidden +#nullable disable + [global::Microsoft.AspNetCore.Components.InjectAttribute] private HttpClient Http { get; set; } + [global::Microsoft.AspNetCore.Components.InjectAttribute] private NavigationManager NavigationManager { get; set; } + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Shared/MainLayout.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Shared/MainLayout.razor.g.cs new file mode 100644 index 0000000..59cbca0 --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Shared/MainLayout.razor.g.cs @@ -0,0 +1,94 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Shared +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class MainLayout : LayoutComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Shared/NavMenu.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Shared/NavMenu.razor.g.cs new file mode 100644 index 0000000..729bc1c --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Shared/NavMenu.razor.g.cs @@ -0,0 +1,172 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Shared +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" +using Microsoft.AspNetCore.SignalR.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" +using spanreed.Shared; + +#line default +#line hidden +#nullable disable + public partial class NavMenu : Microsoft.AspNetCore.Components.ComponentBase, IDisposable + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 +#nullable restore +#line 29 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" + + private string NewRoom; + private string NewRoomBox; + private bool collapseNavMenu = true; + + private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; + + private void ToggleNavMenu() + { + collapseNavMenu = !collapseNavMenu; + } + + private HubConnection hubConnection; + private List rooms = new List(); + + protected override async Task OnInitializedAsync() { + hubConnection = new HubConnectionBuilder().WithUrl(NavigationManager.ToAbsoluteUri("/addroom")).Build(); + hubConnection.On("NewRoom", name => { + rooms.Add(name); + rooms.Sort(); + StateHasChanged(); + }); + var existing_rooms = await Http.GetFromJsonAsync("Room"); + + if (existing_rooms != null) { + foreach (var room in existing_rooms) + { + rooms.Add(room); + rooms.Sort(); + } + } + await hubConnection.StartAsync(); + var roomName = NavigationManager.Uri.Split("/").LastOrDefault(); + if (roomName.Length > 0) { + await hubConnection.SendAsync("AddRoom", NavigationManager.Uri.Split("/").LastOrDefault()); + } + } + + async Task EnterBar(KeyboardEventArgs e) { + if (e.Key.Equals("Enter")) { + Console.WriteLine(NewRoom); + await hubConnection.SendAsync("AddRoom", NewRoom); + NavigationManager.NavigateTo(NewRoom); + NewRoom = ""; + NewRoomBox = ""; + } else if (e.Key.Length == 1) { + NewRoom = NewRoom + e.Key; + } + } + + public bool IsConnected => + hubConnection.State == HubConnectionState.Connected; + + public void Dispose() { + _ = hubConnection.DisposeAsync(); + } + +#line default +#line hidden +#nullable disable + [global::Microsoft.AspNetCore.Components.InjectAttribute] private HttpClient Http { get; set; } + [global::Microsoft.AspNetCore.Components.InjectAttribute] private NavigationManager NavigationManager { get; set; } + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/Shared/SurveyPrompt.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/Shared/SurveyPrompt.razor.g.cs new file mode 100644 index 0000000..e375633 --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/Shared/SurveyPrompt.razor.g.cs @@ -0,0 +1,104 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client.Shared +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class SurveyPrompt : Microsoft.AspNetCore.Components.ComponentBase + { + #pragma warning disable 1998 + protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 +#nullable restore +#line 12 "/home/skins/projects/spanreed/Client/Shared/SurveyPrompt.razor" + + // Demonstrates how a parent component can supply parameters + [Parameter] + public string Title { get; set; } + +#line default +#line hidden +#nullable disable + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/_Imports.razor.g.cs b/Client/obj/Debug/net5.0/RazorDeclaration/_Imports.razor.g.cs new file mode 100644 index 0000000..8ebfc7f --- /dev/null +++ b/Client/obj/Debug/net5.0/RazorDeclaration/_Imports.razor.g.cs @@ -0,0 +1,94 @@ +// +#pragma warning disable 1591 +#pragma warning disable 0414 +#pragma warning disable 0649 +#pragma warning disable 0169 + +namespace spanreed.Client +{ + #line hidden + using System; + using System.Collections.Generic; + using System.Linq; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Components; +#nullable restore +#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor" +using System.Net.Http.Json; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Forms; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Routing; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.Web.Virtualization; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.AspNetCore.Components.WebAssembly.Http; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor" +using Microsoft.JSInterop; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client; + +#line default +#line hidden +#nullable disable +#nullable restore +#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor" +using spanreed.Client.Shared; + +#line default +#line hidden +#nullable disable + public partial class _Imports : System.Object + { + #pragma warning disable 1998 + protected void Execute() + { + } + #pragma warning restore 1998 + } +} +#pragma warning restore 1591 diff --git a/Client/obj/Debug/net5.0/RazorDeclaration/spanreed.Client.pdb b/Client/obj/Debug/net5.0/RazorDeclaration/spanreed.Client.pdb new file mode 100644 index 0000000..3cd875e Binary files /dev/null and b/Client/obj/Debug/net5.0/RazorDeclaration/spanreed.Client.pdb differ diff --git a/Client/obj/Debug/net5.0/blazor.boot.json b/Client/obj/Debug/net5.0/blazor.boot.json new file mode 100644 index 0000000..aba0ab3 --- /dev/null +++ b/Client/obj/Debug/net5.0/blazor.boot.json @@ -0,0 +1,225 @@ +{ + "cacheBootResources": true, + "config": [ ], + "debugBuild": true, + "entryAssembly": "spanreed.Client", + "icuDataMode": 0, + "linkerEnabled": false, + "resources": { + "assembly": { + "Microsoft.AspNetCore.Authorization.dll": "sha256-WlH0wmI5\/sRPenM4xwpdAaf+z3p\/Hi8pXr+nNJbq6hk=", + "Microsoft.AspNetCore.Components.dll": "sha256-hBswojmhv0\/UiVhajMSnBSR5rk3AGi1AJk8t810UxrM=", + "Microsoft.AspNetCore.Components.Forms.dll": "sha256-Af2ENvvmCbPgN12Bwzq8vtlRtVT2Aove7PIZELJwT3w=", + "Microsoft.AspNetCore.Components.Web.dll": "sha256-OcQ71I6yYhurPDL0LBxl8U5ny5flAnJZ92kR\/jajM5g=", + "Microsoft.AspNetCore.Components.WebAssembly.dll": "sha256-YPkzwucaQhYCKEPNFCN2A4aOSq9jNa1GWgpS54ThbKE=", + "Microsoft.AspNetCore.Connections.Abstractions.dll": "sha256-AorwqsCF14J0M4hFtKD3uXZ8ZLh73hEScSLaUwcWvGo=", + "Microsoft.AspNetCore.Http.Connections.Client.dll": "sha256-tKMpFNgXBSALsw0bxkuNXnZnL4j8ciSGvjKN12Ez89Q=", + "Microsoft.AspNetCore.Http.Connections.Common.dll": "sha256-GK\/1peOEzPqID7aH2rk5HKLaZ5MxI5GL0gQ7VB+ToKw=", + "Microsoft.AspNetCore.Http.Features.dll": "sha256-FqynCxJIAFP87+e4Owcnof+wGPO0I252Y6LvqQocfE8=", + "Microsoft.AspNetCore.Metadata.dll": "sha256-N916K5tRmgm9i7g2SCsaiW2VXHOr3+rPvRl4AaV8bJA=", + "Microsoft.AspNetCore.SignalR.Client.dll": "sha256-2Ux7iHwbpedN2AKONwAhwzFNvy4Bec8zoUUsn0wcF8Q=", + "Microsoft.AspNetCore.SignalR.Client.Core.dll": "sha256-TjI\/u1UkHtW3zLTCROG1aDQsCpNl3i6xTjo5AET\/DoU=", + "Microsoft.AspNetCore.SignalR.Common.dll": "sha256-jRtJRD4ntjIk1KDsGb7BpPJbDjL4Z4p4R64RJLaTXfk=", + "Microsoft.AspNetCore.SignalR.Protocols.Json.dll": "sha256-w0BnA4q47skhCr1g\/7BmxT4YnTfOJCmP0kGXjqhiUlA=", + "Microsoft.Extensions.Configuration.dll": "sha256-x9zYR1t1is\/fStNpBiQnXyPdMpLLcQcra3w4RXGSg4o=", + "Microsoft.Extensions.Configuration.Abstractions.dll": "sha256-NYecKM0ZpUvzj4spvgi6xUu80rkx8PX7fiRok\/BNaHw=", + "Microsoft.Extensions.Configuration.Binder.dll": "sha256-JFLIykah3r5WjvztBuVIaMM9wfVswDM+On6k\/QVgeeg=", + "Microsoft.Extensions.Configuration.FileExtensions.dll": "sha256-5tCmu87qBh0Xgsp\/dG\/x9WHctz\/J8YBmCHjt+PA6dn0=", + "Microsoft.Extensions.Configuration.Json.dll": "sha256-OM0kYGXmRhgJOUP2Vf86pt4Ss7QB2\/fLPtfL4+p0Xz8=", + "Microsoft.Extensions.DependencyInjection.dll": "sha256-W\/Xy5S\/Zin\/Xx5oGhOYdTkJLd1mRSie5cNH7qKtU7ZA=", + "Microsoft.Extensions.DependencyInjection.Abstractions.dll": "sha256-D9y5RXbA\/sEzwk6cnGbGMKQv87bvOEEVycrLUTe0lGU=", + "Microsoft.Extensions.FileProviders.Abstractions.dll": "sha256-aUKLFqSgB\/hwZc41dLVKoRSKRghShpfQPVMhoRzpz5M=", + "Microsoft.Extensions.FileProviders.Physical.dll": "sha256-Cvhy7j568oPzBQKhakMhNkDr5tQBxE0LaY1wukd0Ll0=", + "Microsoft.Extensions.FileSystemGlobbing.dll": "sha256-xrpMDo35bgwz\/m\/kwUvL9SAOxyEgSSwO57RiuhILHgI=", + "Microsoft.Extensions.Logging.dll": "sha256-VlsKv5zXgdK0MrYHXr9XlUCXwuwNI7AUI\/C1PEFXcz4=", + "Microsoft.Extensions.Logging.Abstractions.dll": "sha256-9UNtwDMFW86VtnTtJFk9xcc1hCnXFGXccFv3SkbgYy0=", + "Microsoft.Extensions.Options.dll": "sha256-YfK6Zl0RmlJUqBJD7Khy7u4HEW2DRne0VSiqA6Yqs0U=", + "Microsoft.Extensions.Primitives.dll": "sha256-XNHVw5siarTMMQ009PdQgD7MrQ0iqnJ92cJOWSSE1vs=", + "Microsoft.JSInterop.dll": "sha256-mRffHozNFUjXcRwKwhI6uwe6e9V5dMFtp46knThTofY=", + "Microsoft.JSInterop.WebAssembly.dll": "sha256-CUVDXn7tZbnOjcP3RCv7qo06kRLU82YzLqw07Ijzexc=", + "System.IO.Pipelines.dll": "sha256-3ET+mpR7F058YRj9YaLHOVXBqOW6iUxtIpeiKPYw4PA=", + "Microsoft.CSharp.dll": "sha256-Kw+wGv3G\/DSJHX+IG2hjFGrfS5OtNlPeQoOk1VDaK9M=", + "Microsoft.VisualBasic.Core.dll": "sha256-C9sQ2gUXqiEx3atRvdSQtbcRzLaIeVah5iyS6\/LMuLs=", + "Microsoft.VisualBasic.dll": "sha256-e91QiAiZn6USNnd73M5x+jkQb5a0WnpPpwLKEMGrMDo=", + "Microsoft.Win32.Primitives.dll": "sha256-3QjpUdYj9qqoSKsAqVGramg\/jrhc+bq13y4D29zbkx4=", + "Microsoft.Win32.Registry.dll": "sha256-rr+vDybHalxUQptbxPVzEdL1PgSrBySwlInLgh9vykk=", + "System.AppContext.dll": "sha256-HENyE9QJCJlLtMqlrqb1LMXfv7Dfw6yECwwXOkm7Lxs=", + "System.Buffers.dll": "sha256-URC7Qss0Dzf1aoZgf4w0rffOWQGvEFCIoMsRdh3V6Uw=", + "System.Collections.Concurrent.dll": "sha256-TeOnRu4HK3Q3LCJrBXKm8IsVONe5OukD7NVGHqB3H84=", + "System.Collections.Immutable.dll": "sha256-NRIg3HI5pMh6xGqvyTbiIkaXxYl6ezdVsRfJVg4S5f4=", + "System.Collections.NonGeneric.dll": "sha256-D88XMjOypv+f\/9swp6dCBuYxqjIEl5XbP7fp97UB5jg=", + "System.Collections.Specialized.dll": "sha256-oMlpYZt7T0X9s3PxwwtGt100LshWjDOhnoMSaXPcVjw=", + "System.Collections.dll": "sha256-AdkeMP2slNX82gNv8Bya0qLUCa7i\/+hVZXz3Hq6Y4zQ=", + "System.ComponentModel.Annotations.dll": "sha256-YDbgBqpx34WokQq7+zg4VUZYeIvZ\/SGVGoN8j\/NRQps=", + "System.ComponentModel.DataAnnotations.dll": "sha256-J9ix6zqfB7q79q2D2l6V1Fu0YnooQxSSeBdhTrmNzFI=", + "System.ComponentModel.EventBasedAsync.dll": "sha256-V2Fy9d\/YA\/BZMnh\/VZd+tEuOF1PZx6vlzQI1pYn6XzM=", + "System.ComponentModel.Primitives.dll": "sha256-xtpZtGTD1tlmWsyIQEmd45Sh2fLUXjezvSMngxI8aaE=", + "System.ComponentModel.TypeConverter.dll": "sha256-kZtNPcdjZxIORKlMe\/jaTRphn1TVRlcJKuaqpyaxiDI=", + "System.ComponentModel.dll": "sha256-+Z5AJrJC2ebFgy1t568FL8Ski11UiRzJ7hue0JgowF8=", + "System.Configuration.dll": "sha256-18\/V6eIIPOeD+Wt3fxAj2MnTWvFbEo7zEKOfIEEIKCU=", + "System.Console.dll": "sha256-O+BiYPTT8NxpdgUaWNnusaplWXvnGBZ0et5NHl18DSo=", + "System.Core.dll": "sha256-9hGIe4PPfjopd\/bo2+s0Sx+W5gMz+efA19bIdjRXwEs=", + "System.Data.Common.dll": "sha256-hhunbW9U\/3332BGfx6TF8RK8bSFiNhI4wQYlE6Jr7ZM=", + "System.Data.DataSetExtensions.dll": "sha256-K0pwRrs37q6t2nI44FwFaI9LCWHypAK7SR9nfRnFcrE=", + "System.Data.dll": "sha256-VNOQoV\/Xw4Dnn0+IZVxVEgRBxlnW9BQMdg7okrtu+e0=", + "System.Diagnostics.Contracts.dll": "sha256-iF8U53C2\/mVv3oraT7VMpIPg5kOUygHiFWoMX\/UW\/EU=", + "System.Diagnostics.Debug.dll": "sha256-MtaI8SxesfhD9E6ist5n6HGozUS87hiBEqLL1WxhxGY=", + "System.Diagnostics.DiagnosticSource.dll": "sha256-e7e7DjGy2oYw8FJp26zLwcBGY5Nc8NAdQ3Kl90cfxiw=", + "System.Diagnostics.FileVersionInfo.dll": "sha256-kQucWwey1joecvRyg1EKvTnBU\/KnrpUfvGP\/BVVuQRY=", + "System.Diagnostics.Process.dll": "sha256-UZXL2VA26JOyeCJo8VL3XO2RIMdAaUsoveORo1MQWOo=", + "System.Diagnostics.StackTrace.dll": "sha256-wejFH1fYoFhBaBa2DZJJUpRJ9gZOeBY4q5KHNf6C3yI=", + "System.Diagnostics.TextWriterTraceListener.dll": "sha256-DM4dTFBFME7hJwc5gFete5V4Xs7O7DZpAv+gMlKrcqI=", + "System.Diagnostics.Tools.dll": "sha256-ZFqLMF5dnIBs2iG4r4KqmWgGCZ+wudnJfM9ZDLPJQ7M=", + "System.Diagnostics.TraceSource.dll": "sha256-lccblJ2w\/agsTBBmzHPRDqPQXs55onfpuFk5au6a9hM=", + "System.Diagnostics.Tracing.dll": "sha256-UcyTH5A+sk29LBRMrxz8DIJe+Mq6N2iFISFh24ClFFA=", + "System.Drawing.Primitives.dll": "sha256-7wrdm9h5Sf3GYhXsvdXjot4UMi8PrikX012zhYekics=", + "System.Drawing.dll": "sha256-KZok5eVvkLZlFNqNMv2+McOUU+PiVnY+bkkCYbnpc7c=", + "System.Dynamic.Runtime.dll": "sha256-Ym3XPFlMjCMYHhUqzB5FzB0nz3lNL8Q9mwDNEzubIqQ=", + "System.Formats.Asn1.dll": "sha256-rGQvtG6hQQTqpPiVSi3bJpzLVXs3mVxR+tjS4p43q0E=", + "System.Globalization.Calendars.dll": "sha256-ioU3LUUHfxo7PFd46HrM9uGzMs6lJ7INDyVLyL9XH1M=", + "System.Globalization.Extensions.dll": "sha256-OYNL6hUzgqkF8\/pBQ9Gv89LvAlu04WL6PfT4E8NEedM=", + "System.Globalization.dll": "sha256-6rPn2p7ImpV1XGJRyoRgL\/bk2+nm06C42j82xGU0Jbo=", + "System.IO.Compression.Brotli.dll": "sha256-w0+4sB928Bs3A+wIuqvujCgDP5h9\/eDGodjhuqlTPyk=", + "System.IO.Compression.FileSystem.dll": "sha256-jDcmsev7xeSmvsNT6DI6LQvy7980seX7426738tOEqA=", + "System.IO.Compression.ZipFile.dll": "sha256-eib8YtdBRO9STMSOqBWTrUW0pVbrOssEgDoP7F8wBIE=", + "System.IO.Compression.dll": "sha256-9+ej5i9kOcjMozvYIqL0MHgKcKJeqU9lITDX3tg70wg=", + "System.IO.FileSystem.AccessControl.dll": "sha256-MCuFx7bOQdo1Om5mPnW0lhBGXgxiDtf7AapOGglGhlI=", + "System.IO.FileSystem.DriveInfo.dll": "sha256-NHy5fClbzOZwH9hV4PBxcMzWwO0oV5A2b8D6diAwAc0=", + "System.IO.FileSystem.Primitives.dll": "sha256-mjx07dWNTld4hdtSSh2WfCseLoOj7TPJ5WjCSuDbu\/Q=", + "System.IO.FileSystem.Watcher.dll": "sha256-68EbJg4Zrb23OxtwV+5hnyX9W1UUPDzMhbNmjAi\/WKA=", + "System.IO.FileSystem.dll": "sha256-zMqCGfG+spcgS5XY2ibnSgX5y0PSFcZZ0RMDdEE3mqo=", + "System.IO.IsolatedStorage.dll": "sha256-nsbKm8WG7WCjgQX\/\/S+qIlVY+Zly8scgfVJIpxv9FCc=", + "System.IO.MemoryMappedFiles.dll": "sha256-sjByMM0Ok\/S2aW8S7EZU2WkXTVGdsSWTN6U7SK3k\/DM=", + "System.IO.Pipes.AccessControl.dll": "sha256-u38U3IEBnkbEYQa4yRhUZJltWFfq\/+a0jNu2x1t0o64=", + "System.IO.Pipes.dll": "sha256-BUVzFQLAN+hCPpjQNSkHwUCwo2HNtCJg7TajYDdIP74=", + "System.IO.UnmanagedMemoryStream.dll": "sha256-UWZ2HQp8iFfBm7ck8aSOWKdaflS48i\/a9QkEggStqCI=", + "System.IO.dll": "sha256-O\/s84bbwx8Wu+0MMnep44pvk0sxtYI7A9Xmtw0Cy4hE=", + "System.Linq.Expressions.dll": "sha256-kYczWuk6ALvT\/wKj0sqWHUdUdGTxA49d0Wev0NtBR7s=", + "System.Linq.Parallel.dll": "sha256-8KdHAHrD\/hoeJcwht6vsRZiOJnIMR3ho3BX6VG+Z22E=", + "System.Linq.Queryable.dll": "sha256-Jg8gDwMgz59vd4ywPMdafI1F0QGpvNxwRyclhFsgwvI=", + "System.Linq.dll": "sha256-JuK1FXeOqEB\/njVYluvAKoLdidObl6wdsRbFlMXs24s=", + "System.Memory.dll": "sha256-mhHBR6+4iLpZsnJLF7\/Rphseyff0aJSaJ5VFORS\/97Y=", + "System.Net.Http.Json.dll": "sha256-\/klU7o0D8b7y+c8+ALZbIvK7w2bpbHkP+XNzeNOmvyE=", + "System.Net.Http.dll": "sha256-TyVe8gmyNDJzL\/xsJI66A1y5grO2TEgGDDZz7AeLSh8=", + "System.Net.HttpListener.dll": "sha256-rEnx8GzQCNU8Go\/G3MAuofrtMbcj1fEYe8pgk++pdLk=", + "System.Net.Mail.dll": "sha256-aVQfzIyBpF\/Htk+tlVOSSvpHXlRdzdtXAj9gLWXqgZo=", + "System.Net.NameResolution.dll": "sha256-bMNjQ7Yjciuk7YFf4lmtgxllODPsaRIeWAWd3eP0Sl4=", + "System.Net.NetworkInformation.dll": "sha256-NE5mvaQjp9zx62EJZhoxY42Lpk4hrlqNYXawzxy3CK0=", + "System.Net.Ping.dll": "sha256-A0H\/SuPpWYqo5I5f4Lio1KBiTrUnPiSG2ZzEhjuQALA=", + "System.Net.Primitives.dll": "sha256-kA2xITIc\/mw6C1fVDTp\/lVEZAsdru9+Lr31+Mm2rDiA=", + "System.Net.Requests.dll": "sha256-C4Db\/1p3JFANZYORFkWYYFnhwAy7Jus9BFZMlV4ioJI=", + "System.Net.Security.dll": "sha256-C6ysbdq8ca7JXVEu7i6MOxDwerQSYgNzA3gVi+OZMXM=", + "System.Net.ServicePoint.dll": "sha256-d5890bIZfcuu1+MNT30lYdh5Vcuf87MPSmU2P4uZ18c=", + "System.Net.Sockets.dll": "sha256-TXHzvEPphQjknpV308VL5cTAhmw9H0gnUtcw\/5LIlto=", + "System.Net.WebClient.dll": "sha256-vlvwUlaO9tGhlE7etCfkkPQR55n+VBjM2Ny\/cwdO5fs=", + "System.Net.WebHeaderCollection.dll": "sha256-Tr7JIpx+29PDyD1cIbdDoqB9miC1WW95avibXDUBJHI=", + "System.Net.WebProxy.dll": "sha256-xc39R5SAR3uGvH8ghJlZGK7roQwzyaj\/FR+2doloCBE=", + "System.Net.WebSockets.Client.dll": "sha256-kU18wQBGY3DsX\/rZH9g62y26NMBUdoXb8dLOXYGmQi0=", + "System.Net.WebSockets.dll": "sha256-wAuRSZviKGk63vl3E3d3BkH2PLjt\/rweE3boBE+0Qio=", + "System.Net.dll": "sha256-Rz21LKeqJdFF3aIBxkKSg+fpWmugi1\/61as0S2lhmDU=", + "System.Numerics.Vectors.dll": "sha256-4RV+PWCLg7QzsaQ\/AoNeTemPr6JwgzGWjLRXlIJQPr4=", + "System.Numerics.dll": "sha256-vY7S1XFil5ekOVi4vnd0okYC7Tk+fO0Xv3NciLlE3cg=", + "System.ObjectModel.dll": "sha256-6Pdb+V3NUqNJWUBYADUA6WpphkmfBnfvGIPFNw4VR5I=", + "System.Private.DataContractSerialization.dll": "sha256-hwZ1ng9JQJjwOri0Rcw29gQQnJusH9gUB8jp8l6bqb0=", + "System.Private.Runtime.InteropServices.JavaScript.dll": "sha256-DuJLILq2OKaP0N\/\/KSd+sA5Fz2rdGdF+Q5vmUwEExfo=", + "System.Private.Uri.dll": "sha256-fdnA0Jd4frhEv8zrrQVPswN2S0r3E1IA3PzeQPa0FRc=", + "System.Private.Xml.Linq.dll": "sha256-IzRoPs3FfN8n7DssMLb8m7NtmpyxnFFMmvp6g2xJPeQ=", + "System.Private.Xml.dll": "sha256-+bEkL5c2\/fP+Uncb9RnoceDNgWiJVXFcKkz0fXk3TCc=", + "System.Reflection.DispatchProxy.dll": "sha256-Pv0HLMvvRS5twDFeRAOVIxigUYCkImc3cJV82GDVasw=", + "System.Reflection.Emit.ILGeneration.dll": "sha256-xLsgRW3cBjVfntIkO5AEONSIhfg8xVQmvRbdvIPdR3w=", + "System.Reflection.Emit.Lightweight.dll": "sha256-mQ3IUahajjFyWPBFkvmbGPrAkhrxumkGrXHNTtSC1PM=", + "System.Reflection.Emit.dll": "sha256-QJQXF1ZWNMC8yTmgfTJZQvSwlY6C1vRFB+qHfGkMaqg=", + "System.Reflection.Extensions.dll": "sha256-mlvXIwX65ORSCWK5vIeq03NZQ42MmbObB6R9gXeLVDo=", + "System.Reflection.Metadata.dll": "sha256-c3el1M7MjeOmi5kysUhRfqvz1yYxAFFv6GaJeivo+So=", + "System.Reflection.Primitives.dll": "sha256-owiT7mPNLk2RokFnIlxruXhiptyaiPztwKI8nntufQ8=", + "System.Reflection.TypeExtensions.dll": "sha256-Of0qY7fqXjEzqJGExEHQ\/prKSnAK5K66bYyc90oEjUI=", + "System.Reflection.dll": "sha256-7YtWJ5yrbb3ATJrMeYQQJAucQJlNeNjg2VB2gjkEeX4=", + "System.Resources.Reader.dll": "sha256-sTS+gyaW2zxotPsTGdnHTiKiheJd8Uukk0V0XOmDnKQ=", + "System.Resources.ResourceManager.dll": "sha256-ACMC8v\/TjuyinqXBx0501CXZNlg1uCnd9\/2VwdpAI1U=", + "System.Resources.Writer.dll": "sha256-h1vcMukxtBVJYTyO84AxYPkjU1MWQifE6o7GN\/pcnyk=", + "System.Runtime.CompilerServices.Unsafe.dll": "sha256-N0A1lnH9FtZMcNVHQLpbNZX0ZqEOIlL0SyxIemYhCYc=", + "System.Runtime.CompilerServices.VisualC.dll": "sha256-1NkTBl+cbeR2nZEvRaE0GGKqpqpl5iPo9w2P89XfJZw=", + "System.Runtime.Extensions.dll": "sha256-\/KGMF3s7QgWIy5XEi0lB6q111pZjVwWkEtkLEqZYiJQ=", + "System.Runtime.Handles.dll": "sha256-Si4yUnDK4NywtgyJcdCwi\/eHchdfdP1op8C5vcg+JM4=", + "System.Runtime.InteropServices.RuntimeInformation.dll": "sha256-M12r8mYGMGQp40X6FKFrOPTfuiopbb\/AbCxjbs8VqEs=", + "System.Runtime.InteropServices.dll": "sha256-+qp3Gv0iUJxNmQGkcxJrXTNOBieGdUNGFrU9ymOSK30=", + "System.Runtime.Intrinsics.dll": "sha256-MuOHB\/+R3vu8WgoYqXCjcS345DOTVqCgey3U7izOZ\/I=", + "System.Runtime.Loader.dll": "sha256-qabcD2gptwOcDiiAbTgKQ8t5+BkOPnSCsI1OsOluxkU=", + "System.Runtime.Numerics.dll": "sha256-xTY7\/ViSGAsRK3XLvRFiRKqO8ewqDS5AG6F0zExO7U0=", + "System.Runtime.Serialization.Formatters.dll": "sha256-4NqCpjvSujcPqNM8LXa8sZ4LZSTEeXvpGnZ2fifGLag=", + "System.Runtime.Serialization.Json.dll": "sha256-XTNMVbT+86S9bdgl2VC+jDLmKamp7s0BNfuufJ\/ULj8=", + "System.Runtime.Serialization.Primitives.dll": "sha256-TU1vwIvywCTQln\/5p3cDGz4KrlkcdJWMTLFyuwFNT0Q=", + "System.Runtime.Serialization.Xml.dll": "sha256-yrN9ziEK7pl4QmLjJziMi9uortno30ohJdznJZmLenw=", + "System.Runtime.Serialization.dll": "sha256-qaKayr8mHS2Jg7vVcrkFTs4\/mjbtpMb9knfUVRKjDzE=", + "System.Runtime.dll": "sha256-75SUxg20YuYfv5zcbV2QidTjhkwcBpyktFFGyw6DOnY=", + "System.Security.AccessControl.dll": "sha256-CRnJFK7TtsgYAFRjpWDcHjP6X08NRBTImc82GjFYGXo=", + "System.Security.Claims.dll": "sha256-kZs0g0bsdwbQNfqza7gZP+DcbeQpz+\/ypDHYLGinqsA=", + "System.Security.Cryptography.Algorithms.dll": "sha256-7BoO95sVCX4z5M0LhYLDKvMKEFk7DXaZy2ifPTRTsPs=", + "System.Security.Cryptography.Cng.dll": "sha256-ZDbxQ+RAF6koFGbJBNGcU\/lHV6PcpgVTPKonTQq5Zyk=", + "System.Security.Cryptography.Csp.dll": "sha256-7YUV6iZRodJ3osdr\/+TS7Aql98iE6\/DfHdsbtYPXwZQ=", + "System.Security.Cryptography.Encoding.dll": "sha256-3Y7RTiXbGdrEGYlZ1dZCJvC9mU3RwYuvbNPGzR7dehY=", + "System.Security.Cryptography.OpenSsl.dll": "sha256-Lhs13p16nh2IX1zUAkpVPAQEK\/ZvxFuUyK\/sqZkBB7U=", + "System.Security.Cryptography.Primitives.dll": "sha256-qcL3iW3uReMVunlP0t9upiVuecAuDVwnIJ\/c721nGA4=", + "System.Security.Cryptography.X509Certificates.dll": "sha256-AgQKNAYCPs9V\/pGqbkhxzY+irUQOgyCt\/JAZhTAdCxc=", + "System.Security.Principal.Windows.dll": "sha256-oA4OoS89b4xmVwZzfCmCpf+H87NkZyumRJk99L7erS8=", + "System.Security.Principal.dll": "sha256-FKYvO2fOuKjgGMpG86HTrIA1d2Bgnk3tqUlqKgnqawg=", + "System.Security.SecureString.dll": "sha256-6k96WrN4aVwaUk4ZUG8CNjrO78P0dBUFqfJbz7l3Co8=", + "System.Security.dll": "sha256-0cLmgATY\/8Pldy5ejzJ9y47kWwUrLMIIXzT\/z\/7q\/+E=", + "System.ServiceModel.Web.dll": "sha256-hijoWlzP3aTKwYAJO+6Ptc4hgV+cAuUvS9tZWskFOoE=", + "System.ServiceProcess.dll": "sha256-8zTkelYa4xOMRDJg\/ZCZsxP6MGZ8\/TDiB6Uu\/WsgIJ0=", + "System.Text.Encoding.CodePages.dll": "sha256-KgMmbqlhkXeTUA+HCX+s2pPCzKZu3xbaAs8FySodDac=", + "System.Text.Encoding.Extensions.dll": "sha256-H4RjVtRyXZaXXN8L2wLeckiEL4LZ71yOpWu+KgTrvqY=", + "System.Text.Encoding.dll": "sha256-5cU5hdJgVxeXMLqFtpWmo739\/a+YRBSG6TDM4r5hgrY=", + "System.Text.Encodings.Web.dll": "sha256-wHEoqdWibkuwvMVqf8osbpE5FxhJafBBPIqILNqyt2Q=", + "System.Text.Json.dll": "sha256-HIr33BpFiQ8I1RHSbVTpZMI7Ddf5FMU4ZthYJYg5bKU=", + "System.Text.RegularExpressions.dll": "sha256-0ZFrj50OteqhAHtroVW8H6Z+GCt7caLfxRcZqTBsdLQ=", + "System.Threading.Channels.dll": "sha256-Q2ll7jXghQ\/dzo3bwWaON8463N7OoUW3O\/GYNp62lVw=", + "System.Threading.Overlapped.dll": "sha256-N\/wLMV\/l2J7UaEvAGPGPcSZyS4FjMLNn4CtTDl6PCj4=", + "System.Threading.Tasks.Dataflow.dll": "sha256-dGqAD7\/QS6jug4sHaA9YXchyOns6QAkIcabIEy6CtuA=", + "System.Threading.Tasks.Extensions.dll": "sha256-+b0o4rtTYOw\/+tNUCHNDm+ikFVwSU2MA1z\/R2SamTCA=", + "System.Threading.Tasks.Parallel.dll": "sha256-Lb2daIT8ueHuKlAoXAculjumkdJMLw7wMAMwdh3Xbvg=", + "System.Threading.Tasks.dll": "sha256-gk1DViVpVZk5twsqpPmAK5NL7tNAKXm82pCPVWdF2Y8=", + "System.Threading.Thread.dll": "sha256-AmCsNMRhuzJydTwVt3jeZBgiVgXPBPasfp\/\/MyG2MWY=", + "System.Threading.ThreadPool.dll": "sha256-5wJdEa4Swj\/sq1E3zdR7bGSm\/vfTqkXz9je5V0uAk1Q=", + "System.Threading.Timer.dll": "sha256-cBwK4rB\/AdgwNt4MyKJw4S3LEB9dD8f5BYWMN+ltHQM=", + "System.Threading.dll": "sha256-LHq+r38YCX97Zv0Bxl5bDvpg5h5u9o4AHk09Jt1bLWo=", + "System.Transactions.Local.dll": "sha256-55B0daiRvdikN2eSK5J6IB\/B6FaZyTOH8Iv63Do\/9cs=", + "System.Transactions.dll": "sha256-raHSpj4V+n9dk29V62ltUEkAoJURguP\/uo2WVeHTNSM=", + "System.ValueTuple.dll": "sha256-wJkMt64mJr96awu+s+rDY1qRYSJv8S7YuBSPFZdgR4o=", + "System.Web.HttpUtility.dll": "sha256-r0fEECGcjPB0H7M3TSznjViJ2rKKeImJ86\/vxthlm8o=", + "System.Web.dll": "sha256-19oNWnFxPurul4k27lYKGs2YVAkr1iCcCKwYbkNemJ8=", + "System.Windows.dll": "sha256-J8SjE3dExjmcOf0hXeooBjAsT\/P0pOw3ocYFyda+A4g=", + "System.Xml.Linq.dll": "sha256-PL89j\/ylIC81KivxC3u+as+iijSRyoK5wbea5yz\/ueQ=", + "System.Xml.ReaderWriter.dll": "sha256-aD+PTsPUOJyra+8XwYyYfCyXWp6oRlVC4rU+VwkROX0=", + "System.Xml.Serialization.dll": "sha256-jdeA6te4dG97CvNr58piBQ5W4VPk3BCAi0Fhg4hBnqQ=", + "System.Xml.XDocument.dll": "sha256-a5fSx8i6VACd0u79xqRAq7cUTq+aJVtAaTpm+wtmMME=", + "System.Xml.XPath.XDocument.dll": "sha256-9vFZzpmVI1RX0maD06jvPAk3M6W0QwYWDI+MBwYF3O0=", + "System.Xml.XPath.dll": "sha256-dFYeEQPTUsb89I\/55H\/rHp74P07cu0EYkyZbTUO7kac=", + "System.Xml.XmlDocument.dll": "sha256-1iaSr9sPWh8MlPqzbAUx8Z4L2C1mRBt137176fz8NhM=", + "System.Xml.XmlSerializer.dll": "sha256-iZ8G4NG8GAjZk8qKSGzHk+NOMwcBvHv7nUbLOCLvUic=", + "System.Xml.dll": "sha256-4enYdwxsPFPkNtGAPtRc1mOjS7l\/wu4A6CTKpC\/zezI=", + "System.dll": "sha256-Q1lYsmZqcyZMyBKri8FBo8WTwEo1aol7QIQOUM2kMoM=", + "WindowsBase.dll": "sha256-CWGiUApyHV2i7KNclnDOD1bcDBz0ldAIWwdnwlJ1OfM=", + "mscorlib.dll": "sha256-CUpudhojlkcrp2dsiJFF\/H\/WNg+uAhzoGkSWfOta\/U0=", + "netstandard.dll": "sha256-vJpyW6cE\/+ewo5rVB5JUu9x2f8aLnqoIazac8ef5FzQ=", + "System.Private.CoreLib.dll": "sha256-CvQTDivHJZAtRXyCbDa5f5+okJt39WRFrZSmXTMSau0=", + "spanreed.Shared.dll": "sha256-Yv74Lb\/1n9mc4JbbDxEKVyhycTD3vZcUMZgK21dGZHg=", + "spanreed.Client.dll": "sha256-3OSfuUEBqqJQlKtMBPg+rhPO4foG5v4dQxI+f15\/3fw=" + }, + "lazyAssembly": null, + "pdb": { + "spanreed.Shared.pdb": "sha256-MgsC4uJ47WdD7\/qfBDBHyh2yw70+dV8JwKhKRKTo318=", + "spanreed.Client.pdb": "sha256-EvYRugoe99mcRONFtv17jiBFpZqJB3Q7uFsd89s+QuY=" + }, + "runtime": { + "dotnet.timezones.blat": "sha256-2OdnPsDgJyoSaSlvebGMRd2MxC+4UIqparqVrQZAFDE=", + "dotnet.wasm": "sha256-YXYNlLeMqRPFVpY2KSDhleLkNk35d9KvzzwwKAoiftc=", + "icudt.dat": "sha256-m7NyeXyxM+CL04jr9ui1Z6pVfMWwhHusuz5qNZWpAwA=", + "icudt_CJK.dat": "sha256-91bygK5voY9lG5wxP0\/uj7uH5xljF9u7iWnSldT1Z\/g=", + "icudt_EFIGS.dat": "sha256-DPfeOLph83b2rdx40cKxIBcfVZ8abTWAFq+RBQMxGw0=", + "icudt_no_CJK.dat": "sha256-oM7Z6aN9jHmCYqDMCBwFgFAYAGgsH1jLC\/Z6DYeVmmk=", + "dotnet.5.0.8.js": "sha256-cUOztblhuGlkjvgM72ql0e2NRuVqwW32qti8huxzYXs=" + }, + "satelliteResources": null + } +} \ No newline at end of file diff --git a/Client/obj/Debug/net5.0/dotnet.5.0.8.js b/Client/obj/Debug/net5.0/dotnet.5.0.8.js new file mode 100755 index 0000000..a5f282d --- /dev/null +++ b/Client/obj/Debug/net5.0/dotnet.5.0.8.js @@ -0,0 +1,281 @@ +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":3950,"maximum":3950,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_MAX=614352,DYNAMIC_BASE=5857232,DYNAMICTOP_PTR=614192;var TOTAL_STACK=5242880;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":2147483648/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="dotnet.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return Promise.resolve().then(getBinary)}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={42719:function($0,$1,$2){MONO.mono_wasm_add_typed_value("pointer",$0,{ptr_addr:$1,klass_addr:$2})},42819:function($0,$1,$2){MONO.mono_wasm_add_typed_value("array",$0,{objectId:$1,length:$2})},42926:function($0,$1,$2,$3,$4,$5){MONO.mono_wasm_add_typed_value($0,$1,{toString:$2,value_addr:$3,value_size:$4,klass:$5})},43048:function($0,$1,$2){MONO.mono_wasm_add_typed_value($0,$1,{toString:$2})},43388:function($0,$1,$2,$3,$4){MONO.mono_wasm_add_properties_var($0,{field_offset:$1,is_own:$2,attr:$3,owner_class:$4})},125764:function(){return STACK_MAX},125786:function(){return TOTAL_STACK},554847:function($0,$1){MONO.string_decoder.decode($0,$0+$1,true)},555220:function($0,$1,$2){var str=MONO.string_decoder.decode($0,$0+$1);try{var res=eval(str);if(res===null||res==undefined)return 0;res=res.toString();setValue($2,0,"i32")}catch(e){res=e.toString();setValue($2,1,"i32");if(res===null||res===undefined)res="unknown exception"}var buff=Module._malloc((res.length+1)*2);stringToUTF16(res,buff,(res.length+1)*2);return buff},555639:function($0,$1,$2,$3){var message=Module.UTF8ToString($3)+": "+Module.UTF8ToString($1);if($2)console.trace(message);switch(Module.UTF8ToString($0)){case"critical":case"error":console.error(message);break;case"warning":console.warn(message);break;case"message":console.log(message);break;case"info":console.info(message);break;case"debug":console.debug(message);break;default:console.log(message);break}}};function compile_function(snippet_ptr,len,is_exception){try{var data=MONO.string_decoder.decode(snippet_ptr,snippet_ptr+len);var wrapper="(function () { "+data+" })";var funcFactory=eval(wrapper);var func=funcFactory();if(typeof func!=="function"){throw new Error("Code must return an instance of a JavaScript function. "+"Please use `return` statement to return a function.")}setValue(is_exception,0,"i32");return BINDING.js_to_mono_obj(func)}catch(e){res=e.toString();setValue(is_exception,1,"i32");if(res===null||res===undefined)res="unknown exception";return BINDING.js_to_mono_obj(res)}}__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};var _emscripten_get_now_is_monotonic=true;function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=prev-1;return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){HEAP32[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return HEAP32[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){var ptrSize=4;HEAP32[this.ptr+ptrSize>>2]=adjustedPtr};this.get_adjusted_ptr=function(){var ptrSize=4;return HEAP32[this.ptr+ptrSize>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return HEAP32[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);__ZSt18uncaught_exceptionv.uncaught_exceptions--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){Module["dynCall_ii"](destructor,info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_3(){var thrown=exceptionLast;if(!thrown){return(setTempRet0(0),0)|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);if(!thrownType){return(setTempRet0(0),catchInfo.ptr)|0}var typeArray=Array.prototype.slice.call(arguments);var thrownBuf=0;HEAP32[thrownBuf>>2]=thrown;for(var i=0;i>2];if(thrown!==adjusted){catchInfo.set_adjusted_ptr(adjusted)}return(setTempRet0(caughtType),catchInfo.ptr)|0}}return(setTempRet0(thrownType),catchInfo.ptr)|0}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_access(path,amode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fadvise64_64(fd,offset,len,advice){return 0}function ___sys_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ftruncate64(fd,zero,low,high){try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>>0,(tempDouble=id,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getpid(){return 42}function ___sys_getrusage(who,usage){try{_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_link(oldpath,newpath){return-34}function ___sys_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_madvise1(addr,length,advice){return 0}function ___sys_mkdir(path,mode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMmap2(addr,len,prot,flags,fd,off){off<<=12;var ptr;var allocated=false;if((flags&16)!==0&&addr%16384!==0){return-28}if((flags&32)!==0){ptr=_memalign(16384,len);if(!ptr)return-48;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-8;var res=FS.mmap(info,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,prot:prot,flags:flags,offset:off};return ptr}function ___sys_mmap2(addr,len,prot,flags,fd,off){try{return syscallMmap2(addr,len,prot,flags,fd,off)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_msync(addr,len,flags){try{var info=SYSCALLS.mappings[addr];if(!info)return 0;SYSCALLS.doMsync(addr,FS.getStream(info.fd),len,info.flags,0);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMunmap(addr,len){if((addr|0)===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_read(fd,buf,count){try{var stream=SYSCALLS.getStreamFromFD(fd);return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_readlink(path,buf,bufsize){try{path=SYSCALLS.getStr(path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rename(old_path,new_path){try{old_path=SYSCALLS.getStr(old_path);new_path=SYSCALLS.getStr(new_path);FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>>0}function jstoi_q(str){return parseInt(str)}function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:5}}return{}}function ___sys_socketcall(call,socketvararg){try{SYSCALLS.varargs=socketvararg;var getSocketFromFD=function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(8);return socket};var getSocketAddress=function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}case 2:{var sock=getSocketFromFD(),info=getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0}case 3:{var sock=getSocketFromFD(),info=getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0}case 4:{var sock=getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0}case 5:{var sock=getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport)}return newsock.stream.fd}case 6:{var sock=getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);return 0}case 7:{var sock=getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-53}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);return 0}case 11:{var sock=getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}case 12:{var sock=getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}case 14:{return-50}case 15:{var sock=getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}case 16:{var sock=getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}case 17:{var sock=getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}default:{return-52}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_unlink(path){try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var seconds=HEAP32[times>>2];var nanoseconds=HEAP32[times+4>>2];var atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=8;seconds=HEAP32[times>>2];nanoseconds=HEAP32[times+4>>2];var mtime=seconds*1e3+nanoseconds/(1e3*1e3);FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){abort()}function _emscripten_get_now_res(){if(ENVIRONMENT_IS_NODE){return 1}else if(typeof dateNow!=="undefined"){return 1e3}else return 1e3}function _clock_getres(clk_id,res){var nsec;if(clk_id===0){nsec=1e3*1e3}else if(clk_id===1&&_emscripten_get_now_is_monotonic){nsec=_emscripten_get_now_res()}else{setErrNo(28);return-1}HEAP32[res>>2]=nsec/1e9|0;HEAP32[res+4>>2]=nsec;return 0}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _exit(status){exit(status)}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _flock(fd,operation){return 0}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+-1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+-2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+-3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+-4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+-6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+-7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+-8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+-10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+-11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+-12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _getTempRet0(){return getTempRet0()|0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",614256,4),614256);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _llvm_eh_typeid_for(type){return type}function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var MONO={pump_count:0,timeout_queue:[],_vt_stack:[],mono_wasm_runtime_is_ready:false,mono_wasm_ignore_pdb_load_errors:true,_id_table:{},pump_message:function(){if(!this.mono_background_exec)this.mono_background_exec=Module.cwrap("mono_background_exec",null);while(MONO.timeout_queue.length>0){--MONO.pump_count;MONO.timeout_queue.shift()()}while(MONO.pump_count>0){--MONO.pump_count;this.mono_background_exec()}},export_functions:function(module){module["pump_message"]=MONO.pump_message;module["mono_load_runtime_and_bcl"]=MONO.mono_load_runtime_and_bcl;module["mono_load_runtime_and_bcl_args"]=MONO.mono_load_runtime_and_bcl_args;module["mono_wasm_load_bytes_into_heap"]=MONO.mono_wasm_load_bytes_into_heap;module["mono_wasm_load_icu_data"]=MONO.mono_wasm_load_icu_data;module["mono_wasm_globalization_init"]=MONO.mono_wasm_globalization_init;module["mono_wasm_get_loaded_files"]=MONO.mono_wasm_get_loaded_files;module["mono_wasm_new_root_buffer"]=MONO.mono_wasm_new_root_buffer;module["mono_wasm_new_root"]=MONO.mono_wasm_new_root;module["mono_wasm_new_roots"]=MONO.mono_wasm_new_roots;module["mono_wasm_release_roots"]=MONO.mono_wasm_release_roots},_base64Converter:{_base64Table:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],_makeByteReader:function(bytes,index,count){var position=typeof index==="number"?index:0;var endpoint;if(typeof count==="number")endpoint=position+count;else endpoint=bytes.length-position;var result={read:function(){if(position>=endpoint)return false;var nextByte=bytes[position];position+=1;return nextByte}};Object.defineProperty(result,"eof",{get:function(){return position>=endpoint},configurable:true,enumerable:true});return result},toBase64StringImpl:function(inArray,offset,length){var reader=this._makeByteReader(inArray,offset,length);var result="";var ch1=0,ch2=0,ch3=0,bits=0,equalsCount=0,sum=0;var mask1=(1<<24)-1,mask2=(1<<18)-1,mask3=(1<<12)-1,mask4=(1<<6)-1;var shift1=18,shift2=12,shift3=6,shift4=0;while(true){ch1=reader.read();ch2=reader.read();ch3=reader.read();if(ch1===false)break;if(ch2===false){ch2=0;equalsCount+=1}if(ch3===false){ch3=0;equalsCount+=1}sum=ch1<<16|ch2<<8|ch3<<0;bits=(sum&mask1)>>shift1;result+=this._base64Table[bits];bits=(sum&mask2)>>shift2;result+=this._base64Table[bits];if(equalsCount<2){bits=(sum&mask3)>>shift3;result+=this._base64Table[bits]}if(equalsCount===2){result+="=="}else if(equalsCount===1){result+="="}else{bits=(sum&mask4)>>shift4;result+=this._base64Table[bits]}}return result}},_mono_wasm_root_buffer_prototype:{get:function(index){return Module.HEAP32[this.__offset32+index]},set:function(index,value){var absoluteOffset=this.__offset32+index;Module.HEAP32[absoluteOffset]=value;return value},release:function(){if(this.__offset){MONO.mono_wasm_deregister_root(this.__offset);MONO._fill_region(this.__offset,this.__count*4,0);Module.free(this.__offset)}this.__handle=this.__offset=this.__count=this.__offset32=undefined}},_scratch_root_buffer:null,_scratch_root_free_indices:null,_mono_wasm_root_prototype:{get:function(){var result=this.__buffer.get(this.__index);return result},set:function(value){this.__buffer.set(this.__index,value);return value},valueOf:function(){return this.get()},release:function(){MONO._mono_wasm_release_scratch_index(this.__index);this.__buffer=undefined;this.__index=undefined}},_mono_wasm_release_scratch_index:function(index){if(index===undefined)return;this._scratch_root_buffer.set(index,0);this._scratch_root_free_indices.push(index)},_mono_wasm_claim_scratch_index:function(){if(!this._scratch_root_buffer){const maxScratchRoots=8192;this._scratch_root_buffer=this.mono_wasm_new_root_buffer(maxScratchRoots,"js roots");this._scratch_root_free_indices=new Array(maxScratchRoots);for(var i=0;i= 1");var capacityBytes=capacity*4;var offset=Module._malloc(capacityBytes);if(offset%4!==0)throw new Error("Malloc returned an unaligned offset");this._zero_region(offset,capacityBytes,0);var result=Object.create(MONO._mono_wasm_root_buffer_prototype);result.__offset=offset;result.__offset32=offset/4;result.__count=capacity;result.__handle=MONO.mono_wasm_register_root(offset,capacityBytes,msg||0);return result},mono_wasm_new_root:function(value){var index=this._mono_wasm_claim_scratch_index();var buffer=this._scratch_root_buffer;var result=Object.create(MONO._mono_wasm_root_prototype);result.__buffer=buffer;result.__index=index;if(value!==undefined){if(typeof value!=="number")throw new Error("value must be an address in the managed heap");result.set(value)}else{result.set(0)}return result},mono_wasm_new_roots:function(count_or_values){var result;if(Array.isArray(count_or_values)){result=new Array(count_or_values.length);for(var i=0;i0){result=new Array(count_or_values);for(var i=0;i",description:""};i++}out_list.push(o)}return out_list},_filter_automatic_properties:function(props,accessors_only=false){let getters={};let all_fields_except_backing_fields={};let backing_fields={};props.forEach(p=>{if(p.name===undefined){console.debug(`Bug: Found a member with no name. Skipping it. p: ${JSON.stringify(p)}`);return}if(p.name.endsWith("k__BackingField")){const auto_prop_name=p.name.replace("k__BackingField","").replace("<","").replace(">","");if(!(auto_prop_name in backing_fields))backing_fields[auto_prop_name]=Object.assign(p,{name:auto_prop_name})}else if(p.get!==undefined){if(!(p.name in getters)&&!(p.name in all_fields_except_backing_fields))getters[p.name]=p}else if(!(p.name in all_fields_except_backing_fields)){all_fields_except_backing_fields[p.name]=p}});Object.values(backing_fields).forEach(backing_field=>{const auto_prop_name=backing_field.name;const getter=getters[auto_prop_name];if(getter===undefined){return}if(auto_prop_name in all_fields_except_backing_fields){delete getters[auto_prop_name]}else if(getter.__args.owner_class===backing_field.__args.owner_class){all_fields_except_backing_fields[auto_prop_name]=backing_field;delete getters[auto_prop_name]}});if(accessors_only)return Object.values(getters);return Object.values(all_fields_except_backing_fields).concat(Object.values(getters))},_parse_object_id:function(idStr,throwOnError=false){if(idStr===undefined||idStr==""||!idStr.startsWith("dotnet:")){if(throwOnError)throw new Error(`Invalid id: ${idStr}`);return undefined}const[,scheme,...rest]=idStr.split(":");let res={scheme:scheme,value:rest.join(":"),idStr:idStr,o:{}};try{res.o=JSON.parse(res.value)}catch(e){}return res},_resolve_member_by_name:function(base_object,base_name,expr_parts){if(base_object===undefined||base_object.value===undefined)throw new Error(`Bug: base_object is undefined`);if(base_object.value.type==="object"&&base_object.value.subtype==="null")throw new ReferenceError(`Null reference: ${base_name} is null`);if(base_object.value.type!=="object")throw new ReferenceError(`'.' is only supported on non-primitive types. Failed on '${base_name}'`);if(expr_parts.length==0)throw new Error(`Invalid member access expression`);const root=expr_parts[0];const props=this.mono_wasm_get_details(base_object.value.objectId,{});let resObject=props.find(l=>l.name==root);if(resObject!==undefined){if(resObject.value===undefined&&resObject.get!==undefined)resObject=this._invoke_getter(base_object.value.objectId,root)}if(resObject===undefined||expr_parts.length==1)return resObject;else{expr_parts.shift();return this._resolve_member_by_name(resObject,root,expr_parts)}},mono_wasm_eval_member_access:function(scope,var_list,rootObjectId,expr){if(expr===undefined||expr.length==0)throw new Error(`expression argument required`);let parts=expr.split(".");if(parts.length==0)throw new Error(`Invalid member access expression: ${expr}`);const root=parts[0];const locals=this.mono_wasm_get_variables(scope,var_list);let rootObject=locals.find(l=>l.name===root);if(rootObject===undefined){const thisObject=locals.find(l=>l.name=="this");if(thisObject===undefined)throw new ReferenceError(`Could not find ${root} in locals, and no 'this' found.`);const thisProps=this.mono_wasm_get_details(thisObject.value.objectId,{});rootObject=thisProps.find(tp=>tp.name==root);if(rootObject===undefined)throw new ReferenceError(`Could not find ${root} in locals, or in 'this'`);if(rootObject.value===undefined&&rootObject.get!==undefined)rootObject=this._invoke_getter(thisObject.value.objectId,root)}parts.shift();if(parts.length==0)return rootObject;if(rootObject===undefined||rootObject.value===undefined)throw new Error(`Could not get a value for ${root}`);return this._resolve_member_by_name(rootObject,root,parts)},_get_vt_properties:function(id,args={}){let entry=this._get_id_props(id.idStr);if(entry===undefined||entry.members===undefined){if(!isNaN(id.o.containerId)){this._get_object_properties(id.o.containerId,{expandValueTypes:true})}else if(!isNaN(id.o.arrayId))this._get_array_values(id,Number(id.o.arrayIdx),1,true);else throw new Error(`Invalid valuetype id (${id.idStr}). Can't get properties for it.`)}entry=this._get_id_props(id.idStr);if(entry!==undefined&&entry.members!==undefined){if(args.accessorPropertiesOnly===true)return entry.accessors;return entry.members}throw new Error(`Unknown valuetype id: ${id.idStr}. Failed to get properties for it.`)},_assign_vt_ids:function(vars,getIdArgs){vars.forEach((v,i)=>{const value=v.value;if(value===undefined||!value.isValueType)return;if(value.objectId!==undefined)throw new Error(`Bug: Trying to assign valuetype id, but the var already has one: ${v}`);value.objectId=this._new_or_add_id_props({scheme:"valuetype",idArgs:getIdArgs(v,i),props:value._props});delete value._props});return vars},mono_wasm_get_variables:function(scope,var_list){const numBytes=var_list.length*Int32Array.BYTES_PER_ELEMENT;const ptr=Module._malloc(numBytes);let heapBytes=new Int32Array(Module.HEAP32.buffer,ptr,numBytes);for(let i=0;i({containerId:this._async_method_objectId,fieldOffset:v.fieldOffset}));for(let i in res){const res_name=res[i].name;if(this._async_method_objectId!=0){if(res_name!==undefined&&res_name.indexOf(">")>0){res[i].name=res_name.substring(1,res_name.indexOf(">"))}}else if(res_name===undefined&&var_list[i]!==undefined){res[i].name=var_list[i].name}}this._post_process_details(res);return res},_get_properties_args_to_gpflags:function(args){let gpflags=0;if(args.expandValueTypes)gpflags|=4;return gpflags},_get_object_properties:function(idNum,args={}){let gpflags=this._get_properties_args_to_gpflags(args);let{res_ok:res_ok,res:res}=this.mono_wasm_get_object_properties_info(idNum,gpflags);if(!res_ok)throw new Error(`Failed to get properties for ${idNum}`);res=MONO._filter_automatic_properties(res,args.accessorPropertiesOnly===true);res=this._assign_vt_ids(res,v=>({containerId:idNum,fieldOffset:v.fieldOffset}));res=this._post_process_details(res);return res},_get_array_values:function(id,startIdx=0,count=-1,expandValueTypes=false){if(isNaN(id.o.arrayId)||isNaN(startIdx))throw new Error(`Invalid array id: ${id.idStr}`);let gpflags=this._get_properties_args_to_gpflags({expandValueTypes:expandValueTypes});let{res_ok:res_ok,res:res}=this.mono_wasm_get_array_values_info(id.o.arrayId,startIdx,count,gpflags);if(!res_ok)throw new Error(`Failed to get properties for array id ${id.idStr}`);res=this._assign_vt_ids(res,(_,i)=>({arrayId:id.o.arrayId,arrayIdx:Number(startIdx)+i}));for(let i=0;i0)this._extract_and_cache_value_types(details);details.forEach(d=>delete d.__args);return details},_next_id:function(){return++this._next_id_var},_extract_and_cache_value_types:function(var_list){if(var_list==undefined||!Array.isArray(var_list)||var_list.length==0)return var_list;for(let i in var_list){let value=var_list[i].value;if(value===undefined)continue;if(value.objectId!==undefined&&value.objectId.startsWith("dotnet:pointer:")){let ptr_args=this._get_id_props(value.objectId);if(ptr_args===undefined)throw new Error(`Bug: Expected to find an entry for pointer id: ${value.objectId}`);ptr_args.varName=ptr_args.varName||var_list[i].name}if(value.type!="object"||value.isValueType!=true||value.expanded!=true)continue;if(value.members===undefined){continue}value.objectId=value.objectId||this._new_or_add_id_props({scheme:"valuetype"});this._extract_and_cache_value_types(value.members);const accessors=value.members.filter(m=>m.get!==undefined);const new_props=Object.assign({members:value.members,accessors:accessors},value.__extra_vt_props);this._new_or_add_id_props({objectId:value.objectId,props:new_props});delete value.members;delete value.__extra_vt_props}return var_list},_get_cfo_res_details:function(objectId,args){if(!(objectId in this._call_function_res_cache))throw new Error(`Could not find any object with id ${objectId}`);const real_obj=this._call_function_res_cache[objectId];const descriptors=Object.getOwnPropertyDescriptors(real_obj);if(args.accessorPropertiesOnly){Object.keys(descriptors).forEach(k=>{if(descriptors[k].get===undefined)Reflect.deleteProperty(descriptors,k)})}let res_details=[];Object.keys(descriptors).forEach(k=>{let new_obj;let prop_desc=descriptors[k];if(typeof prop_desc.value=="object"){new_obj=Object.assign({name:k},prop_desc)}else if(prop_desc.value!==undefined){new_obj={name:k,value:Object.assign({type:typeof prop_desc.value,description:""+prop_desc.value},prop_desc)}}else if(prop_desc.get!==undefined){new_obj={name:k,get:{className:"Function",description:`get ${k} () {}`,type:"function"}}}else{new_obj={name:k,value:{type:"symbol",value:"",description:""}}}res_details.push(new_obj)});return{__value_as_json_string__:JSON.stringify(res_details)}},_new_or_add_id_props:function({scheme:scheme=undefined,objectId:objectId=undefined,idArgs:idArgs={},props:props={}}){if(scheme===undefined&&objectId===undefined)throw new Error(`Either scheme or objectId must be given`);if(scheme!==undefined&&objectId!==undefined)throw new Error(`Both scheme, and objectId cannot be given`);if(objectId!==undefined&&Object.entries(idArgs).length>0)throw new Error(`Both objectId, and idArgs cannot be given`);if(Object.entries(idArgs).length==0){idArgs.num=this._next_id()}let idStr;if(objectId!==undefined){idStr=objectId;const old_props=this._id_table[idStr];if(old_props===undefined)throw new Error(`ObjectId not found in the id table: ${idStr}`);this._id_table[idStr]=Object.assign(old_props,props)}else{idStr=`dotnet:${scheme}:${JSON.stringify(idArgs)}`;this._id_table[idStr]=props}return idStr},_get_id_props:function(objectId){return this._id_table[objectId]},_get_deref_ptr_value:function(objectId){const ptr_args=this._get_id_props(objectId);if(ptr_args===undefined)throw new Error(`Unknown pointer id: ${objectId}`);if(ptr_args.ptr_addr==0||ptr_args.klass_addr==0)throw new Error(`Both ptr_addr and klass_addr need to be non-zero, to dereference a pointer. objectId: ${objectId}`);const value_addr=new DataView(Module.HEAPU8.buffer).getUint32(ptr_args.ptr_addr,true);let{res_ok:res_ok,res:res}=this.mono_wasm_get_deref_ptr_value_info(value_addr,ptr_args.klass_addr);if(!res_ok)throw new Error(`Failed to dereference pointer ${objectId}`);if(res.length>0){if(ptr_args.varName===undefined)throw new Error(`Bug: no varName found for the pointer. objectId: ${objectId}`);res[0].name=`*${ptr_args.varName}`}res=this._post_process_details(res);return res},mono_wasm_get_details:function(objectId,args={}){let id=this._parse_object_id(objectId,true);switch(id.scheme){case"object":{if(isNaN(id.value))throw new Error(`Invalid objectId: ${objectId}. Expected a numeric id.`);args.expandValueTypes=false;return this._get_object_properties(id.value,args)}case"array":return this._get_array_values(id);case"valuetype":return this._get_vt_properties(id,args);case"cfo_res":return this._get_cfo_res_details(objectId,args);case"pointer":{return this._get_deref_ptr_value(objectId)}default:throw new Error(`Unknown object id format: ${objectId}`)}},_cache_call_function_res:function(obj){const id=`dotnet:cfo_res:${this._next_call_function_res_id++}`;this._call_function_res_cache[id]=obj;return id},mono_wasm_release_object:function(objectId){if(objectId in this._cache_call_function_res)delete this._cache_call_function_res[objectId]},_invoke_getter:function(objectIdStr,name){const id=this._parse_object_id(objectIdStr);if(id===undefined)throw new Error(`Invalid object id: ${objectIdStr}`);let getter_res;if(id.scheme=="object"){if(isNaN(id.o)||id.o<0)throw new Error(`Invalid object id: ${objectIdStr}`);let{res_ok:res_ok,res:res}=this.mono_wasm_invoke_getter_on_object_info(id.o,name);if(!res_ok)throw new Error(`Invoking getter on ${objectIdStr} failed`);getter_res=res}else if(id.scheme=="valuetype"){const id_props=this._get_id_props(objectIdStr);if(id_props===undefined)throw new Error(`Unknown valuetype id: ${objectIdStr}`);if(typeof id_props.value64!=="string"||isNaN(id_props.klass))throw new Error(`Bug: Cannot invoke getter on ${objectIdStr}, because of missing or invalid klass/value64 fields. idProps: ${JSON.stringify(id_props)}`);const dataPtr=Module._malloc(id_props.value64.length);const dataHeap=new Uint8Array(Module.HEAPU8.buffer,dataPtr,id_props.value64.length);dataHeap.set(new Uint8Array(this._base64_to_uint8(id_props.value64)));let{res_ok:res_ok,res:res}=this.mono_wasm_invoke_getter_on_value_info(dataHeap.byteOffset,id_props.klass,name);Module._free(dataHeap.byteOffset);if(!res_ok){console.debug(`Invoking getter on valuetype ${objectIdStr}, with props: ${JSON.stringify(id_props)} failed`);throw new Error(`Invoking getter on valuetype ${objectIdStr} failed`)}getter_res=res}else{throw new Error(`Only object, and valuetypes supported for getters, id: ${objectIdStr}`)}getter_res=MONO._post_process_details(getter_res);return getter_res.length>0?getter_res[0]:{}},_create_proxy_from_object_id:function(objectId){const details=this.mono_wasm_get_details(objectId);if(objectId.startsWith("dotnet:array:"))return details.map(p=>p.value);let proxy={};Object.keys(details).forEach(p=>{var prop=details[p];if(prop.get!==undefined){Object.defineProperty(proxy,prop.name,{get(){return MONO._invoke_getter(objectId,prop.name)}})}else{proxy[prop.name]=prop.value}});return proxy},mono_wasm_call_function_on:function(request){if(request.arguments!=undefined&&!Array.isArray(request.arguments))throw new Error(`"arguments" should be an array, but was ${request.arguments}`);const objId=request.objectId;let proxy;if(objId.startsWith("dotnet:cfo_res:")){if(objId in this._call_function_res_cache)proxy=this._call_function_res_cache[objId];else throw new Error(`Unknown object id ${objId}`)}else{proxy=this._create_proxy_from_object_id(objId)}const fn_args=request.arguments!=undefined?request.arguments.map(a=>JSON.stringify(a.value)):[];const fn_eval_str=`var fn = ${request.functionDeclaration}; fn.call (proxy, ...[${fn_args}]);`;const fn_res=eval(fn_eval_str);if(fn_res===undefined)return{type:"undefined"};if(fn_res===null||fn_res.subtype==="null"&&fn_res.value===undefined)return fn_res;if(Object(fn_res)!==fn_res)return fn_res;if(fn_res.value!==undefined&&Object(fn_res.value.value)!==fn_res.value.value)return fn_res.value;if(request.returnByValue)return{type:"object",value:fn_res};const fn_res_id=this._cache_call_function_res(fn_res);if(Object.getPrototypeOf(fn_res)==Array.prototype){return{type:"object",subtype:"array",className:"Array",description:`Array(${fn_res.length})`,objectId:fn_res_id}}else{return{type:"object",className:"Object",description:"Object",objectId:fn_res_id}}},_clear_per_step_state:function(){this._next_id_var=0;this._id_table={}},mono_wasm_debugger_resume:function(){this._clear_per_step_state()},mono_wasm_start_single_stepping:function(kind){console.debug(">> mono_wasm_start_single_stepping "+kind);if(!this.mono_wasm_setup_single_step)this.mono_wasm_setup_single_step=Module.cwrap("mono_wasm_setup_single_step","number",["number"]);this._clear_per_step_state();return this.mono_wasm_setup_single_step(kind)},mono_wasm_set_pause_on_exceptions:function(state){if(!this.mono_wasm_pause_on_exceptions)this.mono_wasm_pause_on_exceptions=Module.cwrap("mono_wasm_pause_on_exceptions","number",["number"]);var state_enum=0;switch(state){case"uncaught":state_enum=1;break;case"all":state_enum=2;break}return this.mono_wasm_pause_on_exceptions(state_enum)},_register_c_fn:function(name,...args){Object.defineProperty(this._c_fn_table,name+"_wrapper",{value:Module.cwrap(name,...args)})},_register_c_var_fn:function(name,ret_type,params){if(ret_type!=="bool")throw new Error(`Bug: Expected a C function signature that returns bool`);this._register_c_fn(name,ret_type,params);Object.defineProperty(this,name+"_info",{value:function(...args){MONO.var_info=[];const res_ok=MONO._c_fn_table[name+"_wrapper"](...args);let res=MONO.var_info;MONO.var_info=[];if(res_ok){res=this._fixup_name_value_objects(res);return{res_ok:res_ok,res:res}}return{res_ok:res_ok,res:undefined}}})},mono_wasm_runtime_ready:function(){this.mono_wasm_runtime_is_ready=true;console.debug("mono_wasm_runtime_ready","fe00e07a-5519-4dfe-b35a-f867dbaf2e28");this._clear_per_step_state();this._next_call_function_res_id=0;this._call_function_res_cache={};this._c_fn_table={};this._register_c_var_fn("mono_wasm_get_object_properties","bool",["number","number"]);this._register_c_var_fn("mono_wasm_get_array_values","bool",["number","number","number","number"]);this._register_c_var_fn("mono_wasm_invoke_getter_on_object","bool",["number","string"]);this._register_c_var_fn("mono_wasm_invoke_getter_on_value","bool",["number","number","string"]);this._register_c_var_fn("mono_wasm_get_local_vars","bool",["number","number","number"]);this._register_c_var_fn("mono_wasm_get_deref_ptr_value","bool",["number","number"])},mono_wasm_set_breakpoint:function(assembly,method_token,il_offset){if(!this.mono_wasm_set_bp)this.mono_wasm_set_bp=Module.cwrap("mono_wasm_set_breakpoint","number",["string","number","number"]);return this.mono_wasm_set_bp(assembly,method_token,il_offset)},mono_wasm_remove_breakpoint:function(breakpoint_id){if(!this.mono_wasm_del_bp)this.mono_wasm_del_bp=Module.cwrap("mono_wasm_remove_breakpoint","number",["number"]);return this.mono_wasm_del_bp(breakpoint_id)},mono_wasm_setenv:function(name,value){if(!this.wasm_setenv)this.wasm_setenv=Module.cwrap("mono_wasm_setenv",null,["string","string"]);this.wasm_setenv(name,value)},mono_wasm_set_runtime_options:function(options){if(!this.wasm_parse_runtime_options)this.wasm_parse_runtime_options=Module.cwrap("mono_wasm_parse_runtime_options",null,["number","number"]);var argv=Module._malloc(options.length*4);var wasm_strdup=Module.cwrap("mono_wasm_strdup","number",["string"]);let aindex=0;for(var i=0;i0?virtualName.substr(0,lastSlash):null;var fileName=lastSlash>0?virtualName.substr(lastSlash+1):virtualName;if(fileName.startsWith("/"))fileName=fileName.substr(1);if(parentDirectory){if(ctx.tracing)console.log("MONO_WASM: Creating directory '"+parentDirectory+"'");var pathRet=ctx.createPath("/",parentDirectory,true,true)}else{parentDirectory="/"}if(ctx.tracing)console.log("MONO_WASM: Creating file '"+fileName+"' in directory '"+parentDirectory+"'");if(!this.mono_wasm_load_data_archive(bytes,parentDirectory)){var fileRet=ctx.createDataFile(parentDirectory,fileName,bytes,true,true,true)}break;default:throw new Error("Unrecognized asset behavior:",asset.behavior,"for asset",asset.name)}if(asset.behavior==="assembly"){var hasPpdb=ctx.mono_wasm_add_assembly(virtualName,offset,bytes.length);if(!hasPpdb){var index=ctx.loaded_files.findIndex(element=>element.file==virtualName);ctx.loaded_files.splice(index,1)}}else if(asset.behavior==="icu"){if(this.mono_wasm_load_icu_data(offset))ctx.num_icu_assets_loaded_successfully+=1;else console.error("Error loading ICU asset",asset.name)}},mono_load_runtime_and_bcl:function(unused_vfs_prefix,deploy_prefix,debug_level,file_list,loaded_cb,fetch_file_cb){var args={fetch_file_cb:fetch_file_cb,loaded_cb:loaded_cb,debug_level:debug_level,assembly_root:deploy_prefix,assets:[]};for(var i=0;iloaded_files_with_debug_info.push(value.url));MONO.loaded_files=loaded_files_with_debug_info;if(ctx.tracing){console.log("MONO_WASM: loaded_assets: "+JSON.stringify(ctx.loaded_assets));console.log("MONO_WASM: loaded_files: "+JSON.stringify(ctx.loaded_files))}var load_runtime=Module.cwrap("mono_wasm_load_runtime",null,["string","number"]);console.debug("MONO_WASM: Initializing mono runtime");this.mono_wasm_globalization_init(args.globalization_mode);if(ENVIRONMENT_IS_SHELL||ENVIRONMENT_IS_NODE){try{load_runtime("unused",args.debug_level)}catch(ex){print("MONO_WASM: load_runtime () failed: "+ex);print("MONO_WASM: Stacktrace: \n");print(ex.stack);var wasm_exit=Module.cwrap("mono_wasm_exit",null,["number"]);wasm_exit(1)}}else{load_runtime("unused",args.debug_level)}MONO.mono_wasm_runtime_ready();args.loaded_cb()},_load_assets_and_runtime:function(args){if(args.enable_debugging)args.debug_level=args.enable_debugging;if(args.assembly_list)throw new Error("Invalid args (assembly_list was replaced by assets)");if(args.runtime_assets)throw new Error("Invalid args (runtime_assets was replaced by assets)");if(args.runtime_asset_sources)throw new Error("Invalid args (runtime_asset_sources was replaced by remote_sources)");if(!args.loaded_cb)throw new Error("loaded_cb not provided");var ctx={tracing:args.diagnostic_tracing||false,pending_count:args.assets.length,mono_wasm_add_assembly:Module.cwrap("mono_wasm_add_assembly","number",["string","number","number"]),loaded_assets:Object.create(null),loaded_files:[],createPath:Module["FS_createPath"],createDataFile:Module["FS_createDataFile"]};if(ctx.tracing)console.log("mono_wasm_load_runtime_with_args",JSON.stringify(args));this._apply_configuration_from_args(args);var fetch_file_cb=this._get_fetch_file_cb_from_args(args);var onPendingRequestComplete=function(){--ctx.pending_count;if(ctx.pending_count===0){try{MONO._finalize_startup(args,ctx)}catch(exc){console.error("Unhandled exception in _finalize_startup",exc);throw exc}}};var processFetchResponseBuffer=function(asset,url,blob){try{MONO._handle_loaded_asset(ctx,asset,url,blob)}catch(exc){console.error("Unhandled exception in processFetchResponseBuffer",exc);throw exc}finally{onPendingRequestComplete()}};args.assets.forEach(function(asset){var attemptNextSource;var sourceIndex=0;var sourcesList=asset.load_remote?args.remote_sources:[""];var handleFetchResponse=function(response){if(!response.ok){try{attemptNextSource();return}catch(exc){console.error("MONO_WASM: Unhandled exception in handleFetchResponse attemptNextSource for asset",asset.name,exc);throw exc}}try{var bufferPromise=response["arrayBuffer"]();bufferPromise.then(processFetchResponseBuffer.bind(this,asset,response.url))}catch(exc){console.error("MONO_WASM: Unhandled exception in handleFetchResponse for asset",asset.name,exc);attemptNextSource()}};attemptNextSource=function(){if(sourceIndex>=sourcesList.length){var msg="MONO_WASM: Failed to load "+asset.name;try{var isOk=asset.is_optional||asset.name.match(/\.pdb$/)&&MONO.mono_wasm_ignore_pdb_load_errors;if(isOk)console.debug(msg);else{console.error(msg);throw new Error(msg)}}finally{onPendingRequestComplete()}}var sourcePrefix=sourcesList[sourceIndex];sourceIndex++;if(sourcePrefix==="./")sourcePrefix="";var attemptUrl;if(sourcePrefix.trim()===""){if(asset.behavior==="assembly")attemptUrl=locateFile(args.assembly_root+"/"+asset.name);else attemptUrl=asset.name}else{attemptUrl=sourcePrefix+asset.name}try{if(asset.name===attemptUrl){if(ctx.tracing)console.log("Attempting to fetch '"+attemptUrl+"'")}else{if(ctx.tracing)console.log("Attempting to fetch '"+attemptUrl+"' for",asset.name)}var fetch_promise=fetch_file_cb(attemptUrl);fetch_promise.then(handleFetchResponse)}catch(exc){console.error("MONO_WASM: Error fetching "+attemptUrl,exc);attemptNextSource()}};attemptNextSource()})},mono_wasm_globalization_init:function(globalization_mode){var invariantMode=false;if(globalization_mode==="invariant")invariantMode=true;if(!invariantMode){if(this.num_icu_assets_loaded_successfully>0){console.debug("MONO_WASM: ICU data archive(s) loaded, disabling invariant mode")}else if(globalization_mode!=="icu"){console.debug("MONO_WASM: ICU data archive(s) not loaded, using invariant globalization mode");invariantMode=true}else{var msg="invariant globalization mode is inactive and no ICU data archives were loaded";console.error("MONO_WASM: ERROR: "+msg);throw new Error(msg)}}if(invariantMode)this.mono_wasm_setenv("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT","1")},mono_wasm_get_loaded_files:function(){return MONO.loaded_files},mono_wasm_get_loaded_asset_table:function(){return MONO.loaded_assets},mono_wasm_clear_all_breakpoints:function(){if(!this.mono_clear_bps)this.mono_clear_bps=Module.cwrap("mono_wasm_clear_all_breakpoints",null);this.mono_clear_bps()},mono_wasm_add_null_var:function(className){let fixed_class_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));if(!fixed_class_name){fixed_class_name=className}MONO.var_info.push({value:{type:"object",className:fixed_class_name,description:fixed_class_name,subtype:"null"}})},_mono_wasm_add_string_var:function(var_value){if(var_value===0){MONO.mono_wasm_add_null_var("string");return}MONO.var_info.push({value:{type:"string",value:var_value,description:var_value}})},_mono_wasm_add_getter_var:function(className){const fixed_class_name=MONO._mono_csharp_fixup_class_name(className);var name;if(MONO.var_info.length>0)name=MONO.var_info[MONO.var_info.length-1].name;name=name===undefined?"":name;MONO.var_info.push({get:{className:"Function",description:`get ${name} () {}`,type:"function"}})},_mono_wasm_add_array_var:function(className,objectId,length){const fixed_class_name=MONO._mono_csharp_fixup_class_name(className);if(objectId==0){MONO.mono_wasm_add_null_var(fixed_class_name);return}MONO.var_info.push({value:{type:"object",subtype:"array",className:fixed_class_name,description:`${fixed_class_name}(${length})`,objectId:this._new_or_add_id_props({scheme:"array",idArgs:{arrayId:objectId}})}})},_base64_to_uint8:function(base64String){const byteCharacters=atob(base64String);const byteNumbers=new Array(byteCharacters.length);for(let i=0;i{var file=m[0];var last=file.lastIndexOf("/");var directory=file.slice(0,last);folders.add(directory)});folders.forEach(folder=>{Module["FS_createPath"](prefix,folder,true,true)});for(row of manifest){var name=row[0];var length=row[1];var bytes=data.slice(0,length);Module["FS_createDataFile"](prefix,name,bytes,true,true);data=data.slice(length)}return true},mono_wasm_raise_debug_event:function(event,args={}){if(typeof event!=="object")throw new Error(`event must be an object, but got ${JSON.stringify(event)}`);if(event.eventName===undefined)throw new Error(`event.eventName is a required parameter, in event: ${JSON.stringify(event)}`);if(typeof args!=="object")throw new Error(`args must be an object, but got ${JSON.stringify(args)}`);console.debug("mono_wasm_debug_event_raised:aef14bca-5519-4dfe-b35a-f867abc123ae",JSON.stringify(event),JSON.stringify(args))}};function _mono_set_timeout(timeout,id){if(!this.mono_set_timeout_exec)this.mono_set_timeout_exec=Module.cwrap("mono_set_timeout_exec",null,["number"]);if(ENVIRONMENT_IS_WEB){window.setTimeout(function(){this.mono_set_timeout_exec(id)},timeout)}else if(ENVIRONMENT_IS_WORKER){self.setTimeout(function(){this.mono_set_timeout_exec(id)},timeout)}else if(ENVIRONMENT_IS_NODE){global.setTimeout(function(){global.mono_set_timeout_exec(id)},timeout)}else{++MONO.pump_count;MONO.timeout_queue.push(function(){this.mono_set_timeout_exec(id)})}}function _mono_wasm_add_array_item(position){MONO.var_info.push({name:`${position}`})}function _mono_wasm_add_enum_var(className,members,value){const re=new RegExp(`[,]?([^,:]+):(${value}(?=,)|${value}$)`,"g");const members_str=Module.UTF8ToString(members);const match=re.exec(members_str);const member_name=match==null?""+value:match[1];const fixed_class_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));MONO.var_info.push({value:{type:"object",className:fixed_class_name,description:member_name,isEnum:true}})}function _mono_wasm_add_frame(il,method,frame_id,assembly_name,method_full_name){var parts=Module.UTF8ToString(method_full_name).split(":",2);MONO.active_frames.push({il_pos:il,method_token:method,assembly_name:Module.UTF8ToString(assembly_name),method_name:parts[parts.length-1],frame_id:frame_id})}function _mono_wasm_add_func_var(className,targetName,objectId){if(objectId==0){MONO.mono_wasm_add_null_var(MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className)));return}function args_to_sig(args_str){var parts=args_str.split(":");parts=parts.map(a=>MONO._mono_csharp_fixup_class_name(a));var method_name=parts.pop();var ret_sig=parts[0];var args_sig=parts.splice(1).join(", ");return`${ret_sig} ${method_name} (${args_sig})`}let tgt_sig;if(targetName!=0)tgt_sig=args_to_sig(Module.UTF8ToString(targetName));const type_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));if(tgt_sig===undefined)tgt_sig=type_name;if(objectId==-1||targetName===0){MONO.var_info.push({value:{type:"symbol",value:tgt_sig,description:tgt_sig}})}else{MONO.var_info.push({value:{type:"object",className:type_name,description:tgt_sig,objectId:"dotnet:object:"+objectId}})}}function _mono_wasm_add_obj_var(className,toString,objectId){if(objectId==0){MONO.mono_wasm_add_null_var(className);return}const fixed_class_name=MONO._mono_csharp_fixup_class_name(Module.UTF8ToString(className));MONO.var_info.push({value:{type:"object",className:fixed_class_name,description:toString===0?fixed_class_name:Module.UTF8ToString(toString),objectId:"dotnet:object:"+objectId}})}function _mono_wasm_add_properties_var(name,args){MONO.mono_wasm_add_properties_var(name,args)}function _mono_wasm_add_typed_value(type,str_value,value){MONO.mono_wasm_add_typed_value(type,str_value,value)}function _mono_wasm_asm_loaded(assembly_name,assembly_ptr,assembly_len,pdb_ptr,pdb_len){if(MONO.mono_wasm_runtime_is_ready!==true)return;if(!this.mono_wasm_assembly_already_added)this.mono_wasm_assembly_already_added=Module.cwrap("mono_wasm_assembly_already_added","number",["string"]);const assembly_name_str=assembly_name!==0?Module.UTF8ToString(assembly_name).concat(".dll"):"";if(this.mono_wasm_assembly_already_added(assembly_name_str))return;const assembly_data=new Uint8Array(Module.HEAPU8.buffer,assembly_ptr,assembly_len);const assembly_b64=MONO._base64Converter.toBase64StringImpl(assembly_data);let pdb_b64;if(pdb_ptr){const pdb_data=new Uint8Array(Module.HEAPU8.buffer,pdb_ptr,pdb_len);pdb_b64=MONO._base64Converter.toBase64StringImpl(pdb_data)}MONO.mono_wasm_raise_debug_event({eventName:"AssemblyLoaded",assembly_name:assembly_name_str,assembly_b64:assembly_b64,pdb_b64:pdb_b64})}var BINDING={BINDING_ASM:"[System.Private.Runtime.InteropServices.JavaScript]System.Runtime.InteropServices.JavaScript.Runtime",mono_wasm_object_registry:[],mono_wasm_ref_counter:0,mono_wasm_free_list:[],mono_wasm_owned_objects_frames:[],mono_wasm_owned_objects_LMF:[],mono_wasm_marshal_enum_as_int:false,mono_bindings_init:function(binding_asm){this.BINDING_ASM=binding_asm},export_functions:function(module){module["mono_bindings_init"]=BINDING.mono_bindings_init.bind(BINDING);module["mono_method_invoke"]=BINDING.call_method.bind(BINDING);module["mono_method_get_call_signature"]=BINDING.mono_method_get_call_signature.bind(BINDING);module["mono_method_resolve"]=BINDING.resolve_method_fqn.bind(BINDING);module["mono_bind_static_method"]=BINDING.bind_static_method.bind(BINDING);module["mono_call_static_method"]=BINDING.call_static_method.bind(BINDING);module["mono_bind_assembly_entry_point"]=BINDING.bind_assembly_entry_point.bind(BINDING);module["mono_call_assembly_entry_point"]=BINDING.call_assembly_entry_point.bind(BINDING)},bindings_lazy_init:function(){if(this.init)return;Array.prototype[Symbol.for("wasm type")]=1;ArrayBuffer.prototype[Symbol.for("wasm type")]=2;DataView.prototype[Symbol.for("wasm type")]=3;Function.prototype[Symbol.for("wasm type")]=4;Map.prototype[Symbol.for("wasm type")]=5;if(typeof SharedArrayBuffer!=="undefined")SharedArrayBuffer.prototype[Symbol.for("wasm type")]=6;Int8Array.prototype[Symbol.for("wasm type")]=10;Uint8Array.prototype[Symbol.for("wasm type")]=11;Uint8ClampedArray.prototype[Symbol.for("wasm type")]=12;Int16Array.prototype[Symbol.for("wasm type")]=13;Uint16Array.prototype[Symbol.for("wasm type")]=14;Int32Array.prototype[Symbol.for("wasm type")]=15;Uint32Array.prototype[Symbol.for("wasm type")]=16;Float32Array.prototype[Symbol.for("wasm type")]=17;Float64Array.prototype[Symbol.for("wasm type")]=18;this.assembly_load=Module.cwrap("mono_wasm_assembly_load","number",["string"]);this.find_class=Module.cwrap("mono_wasm_assembly_find_class","number",["number","string","string"]);this.find_method=Module.cwrap("mono_wasm_assembly_find_method","number",["number","string","number"]);this.invoke_method=Module.cwrap("mono_wasm_invoke_method","number",["number","number","number","number"]);this.mono_string_get_utf8=Module.cwrap("mono_wasm_string_get_utf8","number",["number"]);this.mono_wasm_string_from_utf16=Module.cwrap("mono_wasm_string_from_utf16","number",["number","number"]);this.mono_get_obj_type=Module.cwrap("mono_wasm_get_obj_type","number",["number"]);this.mono_unbox_int=Module.cwrap("mono_unbox_int","number",["number"]);this.mono_unbox_float=Module.cwrap("mono_wasm_unbox_float","number",["number"]);this.mono_array_length=Module.cwrap("mono_wasm_array_length","number",["number"]);this.mono_array_get=Module.cwrap("mono_wasm_array_get","number",["number","number"]);this.mono_obj_array_new=Module.cwrap("mono_wasm_obj_array_new","number",["number"]);this.mono_obj_array_set=Module.cwrap("mono_wasm_obj_array_set","void",["number","number","number"]);this.mono_unbox_enum=Module.cwrap("mono_wasm_unbox_enum","number",["number"]);this.assembly_get_entry_point=Module.cwrap("mono_wasm_assembly_get_entry_point","number",["number"]);this.mono_typed_array_new=Module.cwrap("mono_wasm_typed_array_new","number",["number","number","number","number"]);var binding_fqn_asm=this.BINDING_ASM.substring(this.BINDING_ASM.indexOf("[")+1,this.BINDING_ASM.indexOf("]")).trim();var binding_fqn_class=this.BINDING_ASM.substring(this.BINDING_ASM.indexOf("]")+1).trim();this.binding_module=this.assembly_load(binding_fqn_asm);if(!this.binding_module)throw"Can't find bindings module assembly: "+binding_fqn_asm;if(binding_fqn_class!==null&&typeof binding_fqn_class!=="undefined"){var namespace="System.Runtime.InteropServices.JavaScript";var classname=binding_fqn_class.length>0?binding_fqn_class:"Runtime";if(binding_fqn_class.indexOf(".")!=-1){var idx=binding_fqn_class.lastIndexOf(".");namespace=binding_fqn_class.substring(0,idx);classname=binding_fqn_class.substring(idx+1)}}var wasm_runtime_class=this.find_class(this.binding_module,namespace,classname);if(!wasm_runtime_class)throw"Can't find "+binding_fqn_class+" class";var get_method=function(method_name){var res=BINDING.find_method(wasm_runtime_class,method_name,-1);if(!res)throw"Can't find method "+namespace+"."+classname+":"+method_name;return res};this.bind_js_obj=get_method("BindJSObject");this.bind_core_clr_obj=get_method("BindCoreCLRObject");this.bind_existing_obj=get_method("BindExistingObject");this.unbind_raw_obj_and_free=get_method("UnBindRawJSObjectAndFree");this.get_js_id=get_method("GetJSObjectId");this.get_raw_mono_obj=get_method("GetDotNetObject");this.box_js_int=get_method("BoxInt");this.box_js_double=get_method("BoxDouble");this.box_js_bool=get_method("BoxBool");this.is_simple_array=get_method("IsSimpleArray");this.setup_js_cont=get_method("SetupJSContinuation");this.create_tcs=get_method("CreateTaskSource");this.set_tcs_result=get_method("SetTaskSourceResult");this.set_tcs_failure=get_method("SetTaskSourceFailure");this.tcs_get_task_and_bind=get_method("GetTaskAndBind");this.get_call_sig=get_method("GetCallSignature");this.object_to_string=get_method("ObjectToString");this.get_date_value=get_method("GetDateValue");this.create_date_time=get_method("CreateDateTime");this.create_uri=get_method("CreateUri");this.safehandle_addref=get_method("SafeHandleAddRef");this.safehandle_release=get_method("SafeHandleRelease");this.safehandle_get_handle=get_method("SafeHandleGetHandle");this.safehandle_release_by_handle=get_method("SafeHandleReleaseByHandle");this.init=true},get_js_obj:function(js_handle){if(js_handle>0)return this.mono_wasm_require_handle(js_handle);return null},conv_string:function(mono_obj){return MONO.string_decoder.copy(mono_obj)},is_nested_array:function(ele){return this.call_method(this.is_simple_array,null,"mi",[ele])},js_string_to_mono_string:function(string){if(string===null||typeof string==="undefined")return 0;var buffer=Module._malloc(string.length*2);if(!buffer)throw new Error("out of memory");var buffer16=buffer/2|0;for(var i=0;iview_bytes)num_of_bytes=view_bytes;var offset=begin*bytes_per_element;var heapBytes=new Uint8Array(Module.HEAPU8.buffer,pinned_array+offset,num_of_bytes);heapBytes.set(new Uint8Array(typed_array.buffer,typed_array.byteOffset,num_of_bytes));return num_of_bytes}else{throw new Error("Object '"+typed_array+"' is not a typed array")}},typedarray_copy_from:function(typed_array,pinned_array,begin,end,bytes_per_element){if(!!(typed_array.buffer instanceof ArrayBuffer&&typed_array.BYTES_PER_ELEMENT)){if(bytes_per_element!==typed_array.BYTES_PER_ELEMENT)throw new Error("Inconsistent element sizes: TypedArray.BYTES_PER_ELEMENT '"+typed_array.BYTES_PER_ELEMENT+"' sizeof managed element: '"+bytes_per_element+"'");var num_of_bytes=(end-begin)*bytes_per_element;var view_bytes=typed_array.length*typed_array.BYTES_PER_ELEMENT;if(num_of_bytes>view_bytes)num_of_bytes=view_bytes;var typedarrayBytes=new Uint8Array(typed_array.buffer,0,num_of_bytes);var offset=begin*bytes_per_element;typedarrayBytes.set(Module.HEAPU8.subarray(pinned_array+offset,pinned_array+offset+num_of_bytes));return num_of_bytes}else{throw new Error("Object '"+typed_array+"' is not a typed array")}},typed_array_from:function(pinned_array,begin,end,bytes_per_element,type){var newTypedArray=0;switch(type){case 5:newTypedArray=new Int8Array(end-begin);break;case 6:newTypedArray=new Uint8Array(end-begin);break;case 7:newTypedArray=new Int16Array(end-begin);break;case 8:newTypedArray=new Uint16Array(end-begin);break;case 9:newTypedArray=new Int32Array(end-begin);break;case 10:newTypedArray=new Uint32Array(end-begin);break;case 13:newTypedArray=new Float32Array(end-begin);break;case 14:newTypedArray=new Float64Array(end-begin);break;case 15:newTypedArray=new Uint8ClampedArray(end-begin);break}this.typedarray_copy_from(newTypedArray,pinned_array,begin,end,bytes_per_element);return newTypedArray},js_to_mono_enum:function(method,parmIdx,js_obj){this.bindings_lazy_init();if(js_obj===null||typeof js_obj==="undefined")return 0;var monoObj,monoEnum;try{monoObj=MONO.mono_wasm_new_root(this.js_to_mono_obj(js_obj));monoEnum=MONO.mono_wasm_new_root(this.call_method(this.object_to_enum,null,"iimm",[method,parmIdx,monoObj.value]));return this.mono_unbox_enum(monoEnum.value)}finally{MONO.mono_wasm_release_roots(monoObj,monoEnum)}},wasm_binding_obj_new:function(js_obj_id,ownsHandle,type){return this.call_method(this.bind_js_obj,null,"iii",[js_obj_id,ownsHandle,type])},wasm_bind_existing:function(mono_obj,js_id){return this.call_method(this.bind_existing_obj,null,"mi",[mono_obj,js_id])},wasm_bind_core_clr_obj:function(js_id,gc_handle){return this.call_method(this.bind_core_clr_obj,null,"ii",[js_id,gc_handle])},wasm_get_js_id:function(mono_obj){return this.call_method(this.get_js_id,null,"m",[mono_obj])},wasm_get_raw_obj:function(gchandle){return this.call_method(this.get_raw_mono_obj,null,"im",[gchandle])},try_extract_mono_obj:function(js_obj){if(js_obj===null||typeof js_obj==="undefined"||typeof js_obj.__mono_gchandle__==="undefined")return 0;return this.wasm_get_raw_obj(js_obj.__mono_gchandle__)},mono_method_get_call_signature:function(method){this.bindings_lazy_init();return this.call_method(this.get_call_sig,null,"i",[method])},get_task_and_bind:function(tcs,js_obj){var gc_handle=this.mono_wasm_free_list.length?this.mono_wasm_free_list.pop():this.mono_wasm_ref_counter++;var task_gchandle=this.call_method(this.tcs_get_task_and_bind,null,"oi",[tcs,gc_handle+1]);js_obj.__mono_gchandle__=task_gchandle;this.mono_wasm_object_registry[gc_handle]=js_obj;this.free_task_completion_source(tcs);tcs.is_mono_tcs_task_bound=true;js_obj.__mono_bound_tcs__=tcs.__mono_gchandle__;tcs.__mono_bound_task__=js_obj.__mono_gchandle__;return this.wasm_get_raw_obj(js_obj.__mono_gchandle__)},free_task_completion_source:function(tcs){if(tcs.is_mono_tcs_result_set){this.call_method(this.unbind_raw_obj_and_free,null,"ii",[tcs.__mono_gchandle__])}if(tcs.__mono_bound_task__){this.call_method(this.unbind_raw_obj_and_free,null,"ii",[tcs.__mono_bound_task__])}},extract_mono_obj:function(js_obj){if(js_obj===null||typeof js_obj==="undefined")return 0;if(!js_obj.is_mono_bridged_obj){var gc_handle=this.mono_wasm_register_obj(js_obj);return this.wasm_get_raw_obj(gc_handle)}return this.wasm_get_raw_obj(js_obj.__mono_gchandle__)},extract_js_obj:function(mono_obj){if(mono_obj==0)return null;var js_id=this.wasm_get_js_id(mono_obj);if(js_id>0)return this.mono_wasm_require_handle(js_id);var gcHandle=this.mono_wasm_free_list.length?this.mono_wasm_free_list.pop():this.mono_wasm_ref_counter++;var js_obj={__mono_gchandle__:this.wasm_bind_existing(mono_obj,gcHandle+1),is_mono_bridged_obj:true};this.mono_wasm_object_registry[gcHandle]=js_obj;return js_obj},call_method:function(method,this_arg,args_marshal,args){this.bindings_lazy_init();var has_args=args!==null&&typeof args!=="undefined"&&args.length>0;var has_args_marshal=args_marshal!==null&&typeof args_marshal!=="undefined"&&args_marshal.length>0;if(has_args_marshal&&(!has_args||args.length>args_marshal.length))throw Error("Parameter count mismatch.");var args_start=null;var buffer=null;var exception_out=null;if(has_args_marshal&&has_args){var i;var converters=this.converters;if(!converters){converters=new Map;converters.set("m",{steps:[{}],size:0});converters.set("s",{steps:[{convert:this.js_string_to_mono_string.bind(this)}],size:0});converters.set("o",{steps:[{convert:this.js_to_mono_obj.bind(this)}],size:0});converters.set("u",{steps:[{convert:this.js_to_mono_uri.bind(this)}],size:0});converters.set("k",{steps:[{convert:this.js_to_mono_enum.bind(this),indirect:"i64"}],size:8});converters.set("j",{steps:[{convert:this.js_to_mono_enum.bind(this),indirect:"i32"}],size:8});converters.set("i",{steps:[{indirect:"i32"}],size:8});converters.set("l",{steps:[{indirect:"i64"}],size:8});converters.set("f",{steps:[{indirect:"float"}],size:8});converters.set("d",{steps:[{indirect:"double"}],size:8});this.converters=converters}var converter=converters.get(args_marshal);if(!converter){var steps=[];var size=0;for(i=0;i=args.length&&args_marshal[args.length]==="m")return res.value}return this._unbox_mono_obj_rooted(res)}finally{res.release()}},invoke_delegate:function(delegate_obj,js_args){this.bindings_lazy_init();if(typeof delegate_obj.__mono_delegate_alive__!=="undefined"){if(!delegate_obj.__mono_delegate_alive__)throw new Error("The delegate target that is being invoked is no longer available. Please check if it has been prematurely GC'd.")}if(!this.delegate_dynamic_invoke){if(!this.corlib)this.corlib=this.assembly_load("System.Private.CoreLib");if(!this.delegate_class)this.delegate_class=this.find_class(this.corlib,"System","Delegate");if(!this.delegate_class){throw new Error("System.Delegate class can not be resolved.")}this.delegate_dynamic_invoke=this.find_method(this.delegate_class,"DynamicInvoke",-1)}var mono_args=this.js_array_to_mono_array(js_args);if(!this.delegate_dynamic_invoke)throw new Error("System.Delegate.DynamicInvoke method can not be resolved.");return this.call_method(this.delegate_dynamic_invoke,this.extract_mono_obj(delegate_obj),"mo",[mono_args])},resolve_method_fqn:function(fqn){this.bindings_lazy_init();var assembly=fqn.substring(fqn.indexOf("[")+1,fqn.indexOf("]")).trim();fqn=fqn.substring(fqn.indexOf("]")+1).trim();var methodname=fqn.substring(fqn.indexOf(":")+1);fqn=fqn.substring(0,fqn.indexOf(":")).trim();var namespace="";var classname=fqn;if(fqn.indexOf(".")!=-1){var idx=fqn.lastIndexOf(".");namespace=fqn.substring(0,idx);classname=fqn.substring(idx+1)}var asm=this.assembly_load(assembly);if(!asm)throw new Error("Could not find assembly: "+assembly);var klass=this.find_class(asm,namespace,classname);if(!klass)throw new Error("Could not find class: "+namespace+":"+classname);var method=this.find_method(klass,methodname,-1);if(!method)throw new Error("Could not find method: "+methodname);return method},call_static_method:function(fqn,args,signature){this.bindings_lazy_init();var method=this.resolve_method_fqn(fqn);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return this.call_method(method,null,signature,args)},bind_static_method:function(fqn,signature){this.bindings_lazy_init();var method=this.resolve_method_fqn(fqn);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return function(){return BINDING.call_method(method,null,signature,arguments)}},bind_assembly_entry_point:function(assembly){this.bindings_lazy_init();var asm=this.assembly_load(assembly);if(!asm)throw new Error("Could not find assembly: "+assembly);var method=this.assembly_get_entry_point(asm);if(!method)throw new Error("Could not find entry point for assembly: "+assembly);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return function(){return BINDING.call_method(method,null,signature,arguments)}},call_assembly_entry_point:function(assembly,args,signature){this.bindings_lazy_init();var asm=this.assembly_load(assembly);if(!asm)throw new Error("Could not find assembly: "+assembly);var method=this.assembly_get_entry_point(asm);if(!method)throw new Error("Could not find entry point for assembly: "+assembly);if(typeof signature==="undefined")signature=Module.mono_method_get_call_signature(method);return this.call_method(method,null,signature,args)},mono_wasm_register_obj:function(obj){var gc_handle=undefined;if(obj!==null&&typeof obj!=="undefined"){gc_handle=obj.__mono_gchandle__;if(typeof gc_handle==="undefined"){var handle=this.mono_wasm_free_list.length?this.mono_wasm_free_list.pop():this.mono_wasm_ref_counter++;obj.__mono_jshandle__=handle;var wasm_type=obj[Symbol.for("wasm type")];obj.__owns_handle__=true;gc_handle=obj.__mono_gchandle__=this.wasm_binding_obj_new(handle+1,obj.__owns_handle__,typeof wasm_type==="undefined"?-1:wasm_type);this.mono_wasm_object_registry[handle]=obj}}return gc_handle},mono_wasm_require_handle:function(handle){if(handle>0)return this.mono_wasm_object_registry[handle-1];return null},mono_wasm_unregister_obj:function(js_id){var obj=this.mono_wasm_object_registry[js_id-1];if(typeof obj!=="undefined"&&obj!==null){if(typeof ___mono_wasm_global___!=="undefined"&&___mono_wasm_global___===obj)return obj;var gc_handle=obj.__mono_gchandle__;if(typeof gc_handle!=="undefined"){obj.__mono_gchandle__=undefined;obj.__mono_jshandle__=undefined;if(typeof obj.__mono_delegate_alive__!=="undefined")obj.__mono_delegate_alive__=false;this.mono_wasm_object_registry[js_id-1]=undefined;this.mono_wasm_free_list.push(js_id-1)}}return obj},mono_wasm_free_handle:function(handle){this.mono_wasm_unregister_obj(handle)},mono_wasm_free_raw_object:function(js_id){var obj=this.mono_wasm_object_registry[js_id-1];if(typeof obj!=="undefined"&&obj!==null){if(typeof ___mono_wasm_global___!=="undefined"&&___mono_wasm_global___===obj)return obj;var gc_handle=obj.__mono_gchandle__;if(typeof gc_handle!=="undefined"){obj.__mono_gchandle__=undefined;obj.__mono_jshandle__=undefined;this.mono_wasm_object_registry[js_id-1]=undefined;this.mono_wasm_free_list.push(js_id-1)}}return obj},mono_wasm_get_global:function(){function testGlobal(obj){obj["___mono_wasm_global___"]=obj;var success=typeof ___mono_wasm_global___==="object"&&obj["___mono_wasm_global___"]===obj;if(!success){delete obj["___mono_wasm_global___"]}return success}if(typeof ___mono_wasm_global___==="object"){return ___mono_wasm_global___}if(typeof global==="object"&&testGlobal(global)){___mono_wasm_global___=global}else if(typeof window==="object"&&testGlobal(window)){___mono_wasm_global___=window}else if(testGlobal(function(){return Function}()("return this")())){___mono_wasm_global___=function(){return Function}()("return this")()}if(typeof ___mono_wasm_global___==="object"){return ___mono_wasm_global___}throw Error("Unable to get mono wasm global object.")},mono_wasm_parse_args:function(args){var js_args=this.mono_array_to_js_array(args);this.mono_wasm_save_LMF();return js_args},mono_wasm_save_LMF:function(){BINDING.mono_wasm_owned_objects_frames.push(BINDING.mono_wasm_owned_objects_LMF);BINDING.mono_wasm_owned_objects_LMF=undefined},mono_wasm_unwind_LMF:function(){var __owned_objects__=this.mono_wasm_owned_objects_frames.pop();if(typeof __owned_objects__!=="undefined"){var refidx;for(refidx=0;refidx<__owned_objects__.length;refidx++){var ownerRelease=__owned_objects__[refidx];this.call_method(this.safehandle_release_by_handle,null,"i",[ownerRelease])}}},mono_wasm_convert_return_value:function(ret){this.mono_wasm_unwind_LMF();return this.js_to_mono_obj(ret)}};function _mono_wasm_bind_core_object(js_handle,gc_handle,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}BINDING.wasm_bind_core_clr_obj(js_handle,gc_handle);requireObject.__mono_gchandle__=gc_handle;requireObject.__js_handle__=js_handle;return gc_handle}function _mono_wasm_bind_host_object(js_handle,gc_handle,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}BINDING.wasm_bind_core_clr_obj(js_handle,gc_handle);requireObject.__mono_gchandle__=gc_handle;return gc_handle}function _mono_wasm_fire_bp(){debugger}function _mono_wasm_fire_exception(exception_id,message,class_name,uncaught){MONO.active_exception={exception_id:exception_id,message:Module.UTF8ToString(message),class_name:Module.UTF8ToString(class_name),uncaught:uncaught};debugger}function _mono_wasm_get_by_index(js_handle,property_index,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.mono_wasm_require_handle(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}try{var m=obj[property_index];return BINDING.js_to_mono_obj(m)}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||typeof res==="undefined")res="unknown exception";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_get_global_object(global_name,is_exception){BINDING.bindings_lazy_init();var js_name=BINDING.conv_string(global_name);var globalObj=undefined;if(!js_name){globalObj=BINDING.mono_wasm_get_global()}else{globalObj=BINDING.mono_wasm_get_global()[js_name]}if(globalObj===null||typeof globalObj===undefined){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Global object '"+js_name+"' not found.")}return BINDING.js_to_mono_obj(globalObj)}function _mono_wasm_get_object_property(js_handle,property_name,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.mono_wasm_require_handle(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var js_name=BINDING.conv_string(property_name);if(!js_name){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid property name object '"+js_name+"'")}var res;try{var m=obj[js_name];if(m===Object(m)&&obj.__is_mono_proxied__)m.__is_mono_proxied__=true;return BINDING.js_to_mono_obj(m)}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||typeof res==="undefined")res="unknown exception";return BINDING.js_string_to_mono_string(res)}}var DOTNET={_dotnet_get_global:function(){function testGlobal(obj){obj["___dotnet_global___"]=obj;var success=typeof ___dotnet_global___==="object"&&obj["___dotnet_global___"]===obj;if(!success){delete obj["___dotnet_global___"]}return success}if(typeof ___dotnet_global___==="object"){return ___dotnet_global___}if(typeof global==="object"&&testGlobal(global)){___dotnet_global___=global}else if(typeof window==="object"&&testGlobal(window)){___dotnet_global___=window}if(typeof ___dotnet_global___==="object"){return ___dotnet_global___}throw Error("unable to get DotNet global object.")},conv_string:function(mono_obj){return MONO.string_decoder.copy(mono_obj)}};function _mono_wasm_invoke_js_blazor(exceptionMessage,callInfo,arg0,arg1,arg2){var mono_string=DOTNET._dotnet_get_global()._mono_string_cached||(DOTNET._dotnet_get_global()._mono_string_cached=Module.cwrap("mono_wasm_string_from_js","number",["string"]));try{var blazorExports=DOTNET._dotnet_get_global().Blazor;if(!blazorExports){throw new Error("The blazor.webassembly.js library is not loaded.")}return blazorExports._internal.invokeJSFromDotNet(callInfo,arg0,arg1,arg2)}catch(ex){var exceptionJsString=ex.message+"\n"+ex.stack;var exceptionSystemString=mono_string(exceptionJsString);setValue(exceptionMessage,exceptionSystemString,"i32");return 0}}function _mono_wasm_invoke_js_marshalled(exceptionMessage,asyncHandleLongPtr,functionName,argsJson,treatResultAsVoid){var mono_string=DOTNET._dotnet_get_global()._mono_string_cached||(DOTNET._dotnet_get_global()._mono_string_cached=Module.cwrap("mono_wasm_string_from_js","number",["string"]));try{var u32Index=asyncHandleLongPtr>>2;var asyncHandleJsNumber=Module.HEAPU32[u32Index+1]*4294967296+Module.HEAPU32[u32Index];var funcNameJsString=DOTNET.conv_string(functionName);var argsJsonJsString=argsJson&&DOTNET.conv_string(argsJson);var dotNetExports=DOTNET._dotnet_get_global().DotNet;if(!dotNetExports){throw new Error("The Microsoft.JSInterop.js library is not loaded.")}if(asyncHandleJsNumber){dotNetExports.jsCallDispatcher.beginInvokeJSFromDotNet(asyncHandleJsNumber,funcNameJsString,argsJsonJsString,treatResultAsVoid);return 0}else{var resultJson=dotNetExports.jsCallDispatcher.invokeJSFromDotNet(funcNameJsString,argsJsonJsString,treatResultAsVoid);return resultJson===null?0:mono_string(resultJson)}}catch(ex){var exceptionJsString=ex.message+"\n"+ex.stack;var exceptionSystemString=mono_string(exceptionJsString);setValue(exceptionMessage,exceptionSystemString,"i32");return 0}}function _mono_wasm_invoke_js_unmarshalled(exceptionMessage,funcName,arg0,arg1,arg2){try{var funcNameJsString=DOTNET.conv_string(funcName);var dotNetExports=DOTNET._dotnet_get_global().DotNet;if(!dotNetExports){throw new Error("The Microsoft.JSInterop.js library is not loaded.")}var funcInstance=dotNetExports.jsCallDispatcher.findJSFunction(funcNameJsString);return funcInstance.call(null,arg0,arg1,arg2)}catch(ex){var exceptionJsString=ex.message+"\n"+ex.stack;var mono_string=Module.cwrap("mono_wasm_string_from_js","number",["string"]);var exceptionSystemString=mono_string(exceptionJsString);setValue(exceptionMessage,exceptionSystemString,"i32");return 0}}function _mono_wasm_invoke_js_with_args(js_handle,method_name,args,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.get_js_obj(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var js_name=BINDING.conv_string(method_name);if(!js_name){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid method name object '"+method_name+"'")}var js_args=BINDING.mono_wasm_parse_args(args);var res;try{var m=obj[js_name];if(typeof m==="undefined")throw new Error("Method: '"+js_name+"' not found for: '"+Object.prototype.toString.call(obj)+"'");var res=m.apply(obj,js_args);return BINDING.mono_wasm_convert_return_value(res)}catch(e){BINDING.mono_wasm_unwind_LMF();var res=e.toString();setValue(is_exception,1,"i32");if(res===null||res===undefined)res="unknown exception";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_new(core_name,args,is_exception){BINDING.bindings_lazy_init();var js_name=BINDING.conv_string(core_name);if(!js_name){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Core object '"+js_name+"' not found.")}var coreObj=BINDING.mono_wasm_get_global()[js_name];if(coreObj===null||typeof coreObj==="undefined"){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("JavaScript host object '"+js_name+"' not found.")}var js_args=BINDING.mono_wasm_parse_args(args);try{var allocator=function(constructor,js_args){var argsList=new Array;argsList[0]=constructor;if(js_args)argsList=argsList.concat(js_args);var obj=new(constructor.bind.apply(constructor,argsList));return obj};var res=allocator(coreObj,js_args);var gc_handle=BINDING.mono_wasm_free_list.length?BINDING.mono_wasm_free_list.pop():BINDING.mono_wasm_ref_counter++;BINDING.mono_wasm_object_registry[gc_handle]=res;return BINDING.mono_wasm_convert_return_value(gc_handle+1)}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||res===undefined)res="Error allocating object.";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_release_handle(js_handle,is_exception){BINDING.bindings_lazy_init();BINDING.mono_wasm_free_handle(js_handle)}function _mono_wasm_release_object(js_handle,is_exception){BINDING.bindings_lazy_init();BINDING.mono_wasm_free_raw_object(js_handle)}function _mono_wasm_set_by_index(js_handle,property_index,value,is_exception){BINDING.bindings_lazy_init();var obj=BINDING.mono_wasm_require_handle(js_handle);if(!obj){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var js_value=BINDING.unbox_mono_obj(value);BINDING.mono_wasm_save_LMF();try{obj[property_index]=js_value;BINDING.mono_wasm_unwind_LMF();return true}catch(e){var res=e.toString();setValue(is_exception,1,"i32");if(res===null||typeof res==="undefined")res="unknown exception";return BINDING.js_string_to_mono_string(res)}}function _mono_wasm_set_is_async_method(objectId){MONO._async_method_objectId=objectId}function _mono_wasm_set_object_property(js_handle,property_name,value,createIfNotExist,hasOwnProperty,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var property=BINDING.conv_string(property_name);if(!property){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid property name object '"+property_name+"'")}var result=false;var js_value=BINDING.unbox_mono_obj(value);BINDING.mono_wasm_save_LMF();if(createIfNotExist){requireObject[property]=js_value;result=true}else{result=false;if(!createIfNotExist){if(!requireObject.hasOwnProperty(property))return false}if(hasOwnProperty===true){if(requireObject.hasOwnProperty(property)){requireObject[property]=js_value;result=true}}else{requireObject[property]=js_value;result=true}}BINDING.mono_wasm_unwind_LMF();return BINDING.call_method(BINDING.box_js_bool,null,"im",[result])}function _mono_wasm_typed_array_copy_from(js_handle,pinned_array,begin,end,bytes_per_element,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var res=BINDING.typedarray_copy_from(requireObject,pinned_array,begin,end,bytes_per_element);return BINDING.js_to_mono_obj(res)}function _mono_wasm_typed_array_copy_to(js_handle,pinned_array,begin,end,bytes_per_element,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}var res=BINDING.typedarray_copy_to(requireObject,pinned_array,begin,end,bytes_per_element);return BINDING.js_to_mono_obj(res)}function _mono_wasm_typed_array_from(pinned_array,begin,end,bytes_per_element,type,is_exception){BINDING.bindings_lazy_init();var res=BINDING.typed_array_from(pinned_array,begin,end,bytes_per_element,type);return BINDING.js_to_mono_obj(res)}function _mono_wasm_typed_array_to_array(js_handle,is_exception){BINDING.bindings_lazy_init();var requireObject=BINDING.mono_wasm_require_handle(js_handle);if(!requireObject){setValue(is_exception,1,"i32");return BINDING.js_string_to_mono_string("Invalid JS object handle '"+js_handle+"'")}return BINDING.js_typed_array_to_array(requireObject)}function _usleep(useconds){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){setErrNo(28);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){dynCall_vi(routine,arg)});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_setcancelstate(){return 0}function _schedule_background_exec(){++MONO.pump_count;if(ENVIRONMENT_IS_WEB){window.setTimeout(MONO.pump_message,0)}else if(ENVIRONMENT_IS_WORKER){self.setTimeout(MONO.pump_message,0)}else if(ENVIRONMENT_IS_NODE){global.setTimeout(MONO.pump_message,0)}}function _sem_destroy(){}function _sem_init(){}function _sem_post(){}function _sem_trywait(){}function _sem_wait(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _sysconf(name){switch(name){case 30:return 16384;case 85:var maxHeapSize=2147483648;return maxHeapSize/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}setErrNo(28);return-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}return readAsmConstArgsArray}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;MONO.export_functions(Module);BINDING.export_functions(Module);function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"b":___assert_fail,"Ya":___clock_gettime,"Xa":___cxa_allocate_exception,"Wa":___cxa_begin_catch,"Va":___cxa_end_catch,"Ua":___cxa_find_matching_catch_3,"Ta":___cxa_throw,"Sa":___resumeException,"Ea":___sys_access,"Qa":___sys_chdir,"C":___sys_chmod,"Ha":___sys_fadvise64_64,"va":___sys_fchmod,"i":___sys_fcntl64,"Ka":___sys_fstat64,"Ma":___sys_ftruncate64,"Oa":___sys_getcwd,"Ia":___sys_getdents64,"g":___sys_getpid,"za":___sys_getrusage,"Aa":___sys_ioctl,"xa":___sys_link,"La":___sys_lstat64,"Ja":___sys_madvise1,"Ca":___sys_mkdir,"Na":___sys_mmap2,"Pa":___sys_msync,"wa":___sys_munmap,"A":___sys_open,"Ga":___sys_read,"ya":___sys_readlink,"Da":___sys_rename,"Ba":___sys_rmdir,"r":___sys_socketcall,"B":___sys_stat64,"Ra":___sys_unlink,"Fa":___sys_utimensat,"a":_abort,"pa":_clock_getres,"q":_clock_gettime,"oa":compile_function,"h":_emscripten_asm_const_int,"na":_emscripten_memcpy_big,"ma":_emscripten_resize_heap,"ua":_environ_get,"ta":_environ_sizes_get,"d":_exit,"m":_fd_close,"sa":_fd_fdstat_get,"ra":_fd_read,"ga":_fd_seek,"qa":_fd_sync,"x":_fd_write,"la":_flock,"ka":_gai_strerror,"ja":_getTempRet0,"k":_gettimeofday,"ia":_gmtime_r,"ha":invoke_vi,"ba":_llvm_eh_typeid_for,"p":_localtime_r,"memory":wasmMemory,"aa":_mono_set_timeout,"$":_mono_wasm_add_array_item,"fa":_mono_wasm_add_enum_var,"_":_mono_wasm_add_frame,"ea":_mono_wasm_add_func_var,"da":_mono_wasm_add_obj_var,"o":_mono_wasm_add_properties_var,"c":_mono_wasm_add_typed_value,"z":_mono_wasm_asm_loaded,"Z":_mono_wasm_bind_core_object,"Y":_mono_wasm_bind_host_object,"y":_mono_wasm_fire_bp,"X":_mono_wasm_fire_exception,"W":_mono_wasm_get_by_index,"V":_mono_wasm_get_global_object,"U":_mono_wasm_get_object_property,"T":_mono_wasm_invoke_js_blazor,"S":_mono_wasm_invoke_js_marshalled,"R":_mono_wasm_invoke_js_unmarshalled,"Q":_mono_wasm_invoke_js_with_args,"P":_mono_wasm_new,"O":_mono_wasm_release_handle,"N":_mono_wasm_release_object,"M":_mono_wasm_set_by_index,"ca":_mono_wasm_set_is_async_method,"L":_mono_wasm_set_object_property,"K":_mono_wasm_typed_array_copy_from,"J":_mono_wasm_typed_array_copy_to,"I":_mono_wasm_typed_array_from,"H":_mono_wasm_typed_array_to_array,"n":_nanosleep,"f":_pthread_cleanup_pop,"e":_pthread_cleanup_push,"l":_pthread_setcancelstate,"G":_schedule_background_exec,"w":_sem_destroy,"v":_sem_init,"u":_sem_post,"F":_sem_trywait,"E":_sem_wait,"t":_strftime,"j":_sysconf,"table":wasmTable,"s":_time,"D":_tzset};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["Za"]).apply(null,arguments)};var _mono_wasm_register_root=Module["_mono_wasm_register_root"]=function(){return(_mono_wasm_register_root=Module["_mono_wasm_register_root"]=Module["asm"]["_a"]).apply(null,arguments)};var _mono_wasm_deregister_root=Module["_mono_wasm_deregister_root"]=function(){return(_mono_wasm_deregister_root=Module["_mono_wasm_deregister_root"]=Module["asm"]["$a"]).apply(null,arguments)};var _mono_wasm_add_assembly=Module["_mono_wasm_add_assembly"]=function(){return(_mono_wasm_add_assembly=Module["_mono_wasm_add_assembly"]=Module["asm"]["ab"]).apply(null,arguments)};var _mono_wasm_assembly_already_added=Module["_mono_wasm_assembly_already_added"]=function(){return(_mono_wasm_assembly_already_added=Module["_mono_wasm_assembly_already_added"]=Module["asm"]["bb"]).apply(null,arguments)};var _mono_wasm_setenv=Module["_mono_wasm_setenv"]=function(){return(_mono_wasm_setenv=Module["_mono_wasm_setenv"]=Module["asm"]["cb"]).apply(null,arguments)};var _mono_wasm_load_runtime=Module["_mono_wasm_load_runtime"]=function(){return(_mono_wasm_load_runtime=Module["_mono_wasm_load_runtime"]=Module["asm"]["db"]).apply(null,arguments)};var _mono_wasm_assembly_load=Module["_mono_wasm_assembly_load"]=function(){return(_mono_wasm_assembly_load=Module["_mono_wasm_assembly_load"]=Module["asm"]["eb"]).apply(null,arguments)};var _mono_wasm_assembly_find_class=Module["_mono_wasm_assembly_find_class"]=function(){return(_mono_wasm_assembly_find_class=Module["_mono_wasm_assembly_find_class"]=Module["asm"]["fb"]).apply(null,arguments)};var _mono_wasm_assembly_find_method=Module["_mono_wasm_assembly_find_method"]=function(){return(_mono_wasm_assembly_find_method=Module["_mono_wasm_assembly_find_method"]=Module["asm"]["gb"]).apply(null,arguments)};var _mono_wasm_invoke_method=Module["_mono_wasm_invoke_method"]=function(){return(_mono_wasm_invoke_method=Module["_mono_wasm_invoke_method"]=Module["asm"]["hb"]).apply(null,arguments)};var _mono_wasm_assembly_get_entry_point=Module["_mono_wasm_assembly_get_entry_point"]=function(){return(_mono_wasm_assembly_get_entry_point=Module["_mono_wasm_assembly_get_entry_point"]=Module["asm"]["ib"]).apply(null,arguments)};var _mono_wasm_string_get_utf8=Module["_mono_wasm_string_get_utf8"]=function(){return(_mono_wasm_string_get_utf8=Module["_mono_wasm_string_get_utf8"]=Module["asm"]["jb"]).apply(null,arguments)};var _mono_wasm_string_convert=Module["_mono_wasm_string_convert"]=function(){return(_mono_wasm_string_convert=Module["_mono_wasm_string_convert"]=Module["asm"]["kb"]).apply(null,arguments)};var _mono_wasm_string_from_js=Module["_mono_wasm_string_from_js"]=function(){return(_mono_wasm_string_from_js=Module["_mono_wasm_string_from_js"]=Module["asm"]["lb"]).apply(null,arguments)};var _mono_wasm_string_from_utf16=Module["_mono_wasm_string_from_utf16"]=function(){return(_mono_wasm_string_from_utf16=Module["_mono_wasm_string_from_utf16"]=Module["asm"]["mb"]).apply(null,arguments)};var _mono_wasm_get_obj_type=Module["_mono_wasm_get_obj_type"]=function(){return(_mono_wasm_get_obj_type=Module["_mono_wasm_get_obj_type"]=Module["asm"]["nb"]).apply(null,arguments)};var _mono_unbox_int=Module["_mono_unbox_int"]=function(){return(_mono_unbox_int=Module["_mono_unbox_int"]=Module["asm"]["ob"]).apply(null,arguments)};var _mono_wasm_unbox_float=Module["_mono_wasm_unbox_float"]=function(){return(_mono_wasm_unbox_float=Module["_mono_wasm_unbox_float"]=Module["asm"]["pb"]).apply(null,arguments)};var _mono_wasm_array_length=Module["_mono_wasm_array_length"]=function(){return(_mono_wasm_array_length=Module["_mono_wasm_array_length"]=Module["asm"]["qb"]).apply(null,arguments)};var _mono_wasm_array_get=Module["_mono_wasm_array_get"]=function(){return(_mono_wasm_array_get=Module["_mono_wasm_array_get"]=Module["asm"]["rb"]).apply(null,arguments)};var _mono_wasm_obj_array_new=Module["_mono_wasm_obj_array_new"]=function(){return(_mono_wasm_obj_array_new=Module["_mono_wasm_obj_array_new"]=Module["asm"]["sb"]).apply(null,arguments)};var _mono_wasm_obj_array_set=Module["_mono_wasm_obj_array_set"]=function(){return(_mono_wasm_obj_array_set=Module["_mono_wasm_obj_array_set"]=Module["asm"]["tb"]).apply(null,arguments)};var _mono_wasm_string_array_new=Module["_mono_wasm_string_array_new"]=function(){return(_mono_wasm_string_array_new=Module["_mono_wasm_string_array_new"]=Module["asm"]["ub"]).apply(null,arguments)};var _mono_wasm_exec_regression=Module["_mono_wasm_exec_regression"]=function(){return(_mono_wasm_exec_regression=Module["_mono_wasm_exec_regression"]=Module["asm"]["vb"]).apply(null,arguments)};var _mono_wasm_exit=Module["_mono_wasm_exit"]=function(){return(_mono_wasm_exit=Module["_mono_wasm_exit"]=Module["asm"]["wb"]).apply(null,arguments)};var _mono_wasm_set_main_args=Module["_mono_wasm_set_main_args"]=function(){return(_mono_wasm_set_main_args=Module["_mono_wasm_set_main_args"]=Module["asm"]["xb"]).apply(null,arguments)};var _mono_wasm_strdup=Module["_mono_wasm_strdup"]=function(){return(_mono_wasm_strdup=Module["_mono_wasm_strdup"]=Module["asm"]["yb"]).apply(null,arguments)};var _mono_wasm_parse_runtime_options=Module["_mono_wasm_parse_runtime_options"]=function(){return(_mono_wasm_parse_runtime_options=Module["_mono_wasm_parse_runtime_options"]=Module["asm"]["zb"]).apply(null,arguments)};var _mono_wasm_enable_on_demand_gc=Module["_mono_wasm_enable_on_demand_gc"]=function(){return(_mono_wasm_enable_on_demand_gc=Module["_mono_wasm_enable_on_demand_gc"]=Module["asm"]["Ab"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Bb"]).apply(null,arguments)};var _mono_wasm_typed_array_new=Module["_mono_wasm_typed_array_new"]=function(){return(_mono_wasm_typed_array_new=Module["_mono_wasm_typed_array_new"]=Module["asm"]["Cb"]).apply(null,arguments)};var _mono_wasm_unbox_enum=Module["_mono_wasm_unbox_enum"]=function(){return(_mono_wasm_unbox_enum=Module["_mono_wasm_unbox_enum"]=Module["asm"]["Db"]).apply(null,arguments)};var _memset=Module["_memset"]=function(){return(_memset=Module["_memset"]=Module["asm"]["Eb"]).apply(null,arguments)};var _mono_print_method_from_ip=Module["_mono_print_method_from_ip"]=function(){return(_mono_print_method_from_ip=Module["_mono_print_method_from_ip"]=Module["asm"]["Fb"]).apply(null,arguments)};var _putchar=Module["_putchar"]=function(){return(_putchar=Module["_putchar"]=Module["asm"]["Gb"]).apply(null,arguments)};var _mono_wasm_pause_on_exceptions=Module["_mono_wasm_pause_on_exceptions"]=function(){return(_mono_wasm_pause_on_exceptions=Module["_mono_wasm_pause_on_exceptions"]=Module["asm"]["Hb"]).apply(null,arguments)};var _mono_wasm_setup_single_step=Module["_mono_wasm_setup_single_step"]=function(){return(_mono_wasm_setup_single_step=Module["_mono_wasm_setup_single_step"]=Module["asm"]["Ib"]).apply(null,arguments)};var _mono_wasm_clear_all_breakpoints=Module["_mono_wasm_clear_all_breakpoints"]=function(){return(_mono_wasm_clear_all_breakpoints=Module["_mono_wasm_clear_all_breakpoints"]=Module["asm"]["Jb"]).apply(null,arguments)};var _mono_wasm_set_breakpoint=Module["_mono_wasm_set_breakpoint"]=function(){return(_mono_wasm_set_breakpoint=Module["_mono_wasm_set_breakpoint"]=Module["asm"]["Kb"]).apply(null,arguments)};var _mono_wasm_remove_breakpoint=Module["_mono_wasm_remove_breakpoint"]=function(){return(_mono_wasm_remove_breakpoint=Module["_mono_wasm_remove_breakpoint"]=Module["asm"]["Lb"]).apply(null,arguments)};var _mono_wasm_current_bp_id=Module["_mono_wasm_current_bp_id"]=function(){return(_mono_wasm_current_bp_id=Module["_mono_wasm_current_bp_id"]=Module["asm"]["Mb"]).apply(null,arguments)};var _mono_wasm_enum_frames=Module["_mono_wasm_enum_frames"]=function(){return(_mono_wasm_enum_frames=Module["_mono_wasm_enum_frames"]=Module["asm"]["Nb"]).apply(null,arguments)};var _mono_wasm_get_deref_ptr_value=Module["_mono_wasm_get_deref_ptr_value"]=function(){return(_mono_wasm_get_deref_ptr_value=Module["_mono_wasm_get_deref_ptr_value"]=Module["asm"]["Ob"]).apply(null,arguments)};var _mono_wasm_get_local_vars=Module["_mono_wasm_get_local_vars"]=function(){return(_mono_wasm_get_local_vars=Module["_mono_wasm_get_local_vars"]=Module["asm"]["Pb"]).apply(null,arguments)};var _mono_wasm_get_object_properties=Module["_mono_wasm_get_object_properties"]=function(){return(_mono_wasm_get_object_properties=Module["_mono_wasm_get_object_properties"]=Module["asm"]["Qb"]).apply(null,arguments)};var _mono_wasm_get_array_values=Module["_mono_wasm_get_array_values"]=function(){return(_mono_wasm_get_array_values=Module["_mono_wasm_get_array_values"]=Module["asm"]["Rb"]).apply(null,arguments)};var _mono_wasm_invoke_getter_on_object=Module["_mono_wasm_invoke_getter_on_object"]=function(){return(_mono_wasm_invoke_getter_on_object=Module["_mono_wasm_invoke_getter_on_object"]=Module["asm"]["Sb"]).apply(null,arguments)};var _mono_wasm_invoke_getter_on_value=Module["_mono_wasm_invoke_getter_on_value"]=function(){return(_mono_wasm_invoke_getter_on_value=Module["_mono_wasm_invoke_getter_on_value"]=Module["asm"]["Tb"]).apply(null,arguments)};var _mono_set_timeout_exec=Module["_mono_set_timeout_exec"]=function(){return(_mono_set_timeout_exec=Module["_mono_set_timeout_exec"]=Module["asm"]["Ub"]).apply(null,arguments)};var _mono_background_exec=Module["_mono_background_exec"]=function(){return(_mono_background_exec=Module["_mono_background_exec"]=Module["asm"]["Vb"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["Wb"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Xb"]).apply(null,arguments)};var _mono_wasm_load_icu_data=Module["_mono_wasm_load_icu_data"]=function(){return(_mono_wasm_load_icu_data=Module["_mono_wasm_load_icu_data"]=Module["asm"]["Yb"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["Zb"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["_b"]).apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["$b"]).apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["ac"]).apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["bc"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["cc"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["dc"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["ec"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["fc"]).apply(null,arguments)};var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=function(){return(__ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=Module["asm"]["gc"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["hc"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["ic"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["jc"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["kc"]).apply(null,arguments)};function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["getMemory"]=getMemory;Module["UTF8ArrayToString"]=UTF8ArrayToString;Module["UTF8ToString"]=UTF8ToString;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["addFunction"]=addFunction;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); + +// SIG // Begin signature block +// SIG // MIIjnAYJKoZIhvcNAQcCoIIjjTCCI4kCAQExDzANBglg +// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor +// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC +// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg +// SIG // VagsvVL2eNoZwSMn/kERTHYZlLZ8kVFW5fagWKgnsTqg +// SIG // gg2BMIIF/zCCA+egAwIBAgITMwAAAd9r8C6Sp0q00AAA +// SIG // AAAB3zANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV +// SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +// SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +// SIG // cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT +// SIG // aWduaW5nIFBDQSAyMDExMB4XDTIwMTIxNTIxMzE0NVoX +// SIG // DTIxMTIwMjIxMzE0NVowdDELMAkGA1UEBhMCVVMxEzAR +// SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v +// SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +// SIG // bjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +// SIG // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +// SIG // trsZWRAAo6nx5LhcqAsHy9uaHyPQ2VireMBI9yQUOPBj +// SIG // 7dVLA7/N+AnKFFDzJ7P+grT6GkOE4cv5GzjoP8yQJ6yX +// SIG // ojEKkXti7HW/zUiNoF11/ZWndf8j1Azl6OBjcD416tSW +// SIG // Yvh2VfdW1K+mY83j49YPm3qbKnfxwtV0nI9H092gMS0c +// SIG // pCUsxMRAZlPXksrjsFLqvgq4rnULVhjHSVOudL/yps3z +// SIG // OOmOpaPzAp56b898xC+zzHVHcKo/52IRht1FSC8V+7QH +// SIG // TG8+yzfuljiKU9QONa8GqDlZ7/vFGveB8IY2ZrtUu98n +// SIG // le0WWTcaIRHoCYvWGLLF2u1GVFJAggPipwIDAQABo4IB +// SIG // fjCCAXowHwYDVR0lBBgwFgYKKwYBBAGCN0wIAQYIKwYB +// SIG // BQUHAwMwHQYDVR0OBBYEFDj2zC/CHZDRrQnzJlT7byOl +// SIG // WfPjMFAGA1UdEQRJMEekRTBDMSkwJwYDVQQLEyBNaWNy +// SIG // b3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEWMBQG +// SIG // A1UEBRMNMjMwMDEyKzQ2MzAwOTAfBgNVHSMEGDAWgBRI +// SIG // bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmg +// SIG // R6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp +// SIG // b3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDct +// SIG // MDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcw +// SIG // AoZFaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w +// SIG // cy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDct +// SIG // MDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL +// SIG // BQADggIBAJ56h7Q8mFBWlQJLwCtHqqup4aC/eUmULt0Z +// SIG // 6We7XUPPUEd/vuwPuIa6+1eMcZpAeQTm0tGCvjACxNNm +// SIG // rY8FoD3aWEOvFnSxq6CWR5G2XYBERvu7RExZd2iheCqa +// SIG // EmhjrJGV6Uz5wmjKNj16ADFTBqbEBELMIpmatyEN50UH +// SIG // wZSdD6DDHDf/j5LPGUy9QaD2LCaaJLenKpefaugsqWWC +// SIG // MIMifPdh6bbcmxyoNWbUC1JUl3HETJboD4BHDWSWoDxI +// SIG // D2J4uG9dbJ40QIH9HckNMyPWi16k8VlFOaQiBYj09G9s +// SIG // LMc0agrchqqZBjPD/RmszvHmqJlSLQmAXCUgcgcf6UtH +// SIG // EmMAQRwGcSTg1KsUl6Ehg75k36lCV57Z1pC+KJKJNRYg +// SIG // g2eI6clzkLp2+noCF75IEO429rjtujsNJvEcJXg74TjK +// SIG // 5x7LqYjj26Myq6EmuqWhbVUofPWm1EqKEfEHWXInppqB +// SIG // YXFpBMBYOLKc72DT+JyLNfd9utVsk2kTGaHHhrp+xgk9 +// SIG // kZeud7lI/hfoPeHOtwIc0quJIXS+B5RSD9nj79vbJn1J +// SIG // x7RqusmBQy509Kv2Pg4t48JaBfBFpJB0bUrl5RVG05sK +// SIG // /5Qw4G6WYioS0uwgUw499iNC+Yud9vrh3M8PNqGQ5mJm +// SIG // JiFEjG2ToEuuYe/e64+SSejpHhFCaAFcMIIHejCCBWKg +// SIG // AwIBAgIKYQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCB +// SIG // iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWlj +// SIG // cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +// SIG // IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +// SIG // OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz +// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD +// SIG // Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDEx +// SIG // MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +// SIG // q/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4Bjga +// SIG // BEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSH +// SIG // fpRgJGyvnkmc6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpg +// SIG // GgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpc +// SIG // oRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnn +// SIG // Db6gE3e+lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD +// SIG // 2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLT +// SIG // swM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOE +// SIG // y/S6A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2 +// SIG // z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +// SIG // A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +// SIG // 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uD +// SIG // jexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmnEyim +// SIG // p31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh +// SIG // hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX +// SIG // 3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0wggHpMBAG +// SIG // CSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXT +// SIG // gqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMA +// SIG // dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +// SIG // AwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx +// SIG // 0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3Js +// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N +// SIG // aWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4G +// SIG // CCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDov +// SIG // L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNS +// SIG // b29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +// SIG // HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +// SIG // BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br +// SIG // aW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsGAQUF +// SIG // BwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5 +// SIG // AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3 +// SIG // DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKbC5YR4WOS +// SIG // mUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np +// SIG // 22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r +// SIG // 4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6I/MTfaaQdION +// SIG // 9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWlu +// SIG // WpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiX +// SIG // mE0OPQvyCInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ +// SIG // 2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNA +// SIG // BQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPD +// SIG // XVJihsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yH +// SIG // PgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +// SIG // XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +// SIG // oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5 +// SIG // GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33VtY5E9 +// SIG // 0Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO +// SIG // SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFXMw +// SIG // ghVvAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQI +// SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAm +// SIG // BgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENB +// SIG // IDIwMTECEzMAAAHfa/AukqdKtNAAAAAAAd8wDQYJYIZI +// SIG // AWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQB +// SIG // gjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcC +// SIG // ARUwLwYJKoZIhvcNAQkEMSIEIGU3e8rJC5BvuKZQATk9 +// SIG // saYarX/W1RLmPTfI6uX6BUQqMEIGCisGAQQBgjcCAQwx +// SIG // NDAyoBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRw +// SIG // Oi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +// SIG // BQAEggEAZW8ghdcCZJoi5A4Ec98SN5vGc4wrGnP9FSpW +// SIG // AIkO5ME5x3ZJ6GQ/o4su6sjvqeAaQk6JyxXW+o3DwAI5 +// SIG // vYPNpRWr0loSCIvx4APumwlf2Lp4VgdT8B9UUpw4IH3U +// SIG // Mc5H4kKEzOntWwvOqDet87Kn6twHEWcM/6leYNI8kT9Q +// SIG // rPdzpH7kA7LcCOui04HsJ2CzzOtm6hbbHR7x0sxclQOu +// SIG // qqto3ub/1/EU+VTbVK1pMMVjPnQ3IxsYMmBJfVYOTQ2s +// SIG // VEVAhXGku8+lya2CqrxCsFjjTBsZ5M4q85S8CufwACnl +// SIG // Qh1hreLQgmXLVlEQ1f401VLVrzVfYFcz0ABRGjf2n6GC +// SIG // Ev0wghL5BgorBgEEAYI3AwMBMYIS6TCCEuUGCSqGSIb3 +// SIG // DQEHAqCCEtYwghLSAgEDMQ8wDQYJYIZIAWUDBAIBBQAw +// SIG // ggFZBgsqhkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYK +// SIG // KwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCAFeHs0 +// SIG // rrL2o5c7M/NC6+/044ilm8s6ztovUxBHLVGjRgIGYLAF +// SIG // fIAdGBMyMDIxMDYxNTIwMDcxMi4yMjdaMASAAgH0oIHY +// SIG // pIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz +// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +// SIG // EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp +// SIG // bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg2 +// SIG // REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBTZXJ2aWNloIIOTDCCBPkwggPhoAMC +// SIG // AQICEzMAAAE+zsp3UsX3NCsAAAAAAT4wDQYJKoZIhvcN +// SIG // AQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE +// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw +// SIG // HhcNMjAxMDE1MTcyODI1WhcNMjIwMTEyMTcyODI1WjCB +// SIG // 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p +// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWlj +// SIG // cm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVk +// SIG // MSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRC +// SIG // QkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +// SIG // U3RhbXAgU2VydmljZTCCASIwDQYJKoZIhvcNAQEBBQAD +// SIG // ggEPADCCAQoCggEBALxUxMg82X6cLONOIEgtJLeFUsl/ +// SIG // 72scDn64vPYEHcb30Db70AEXmykd6Zah89GR2Vvm5hcc +// SIG // hrU4fc8NtC0naTHFmAxXNa8z7ib0zQJw5CskD/k6q1u4 +// SIG // /5Q5Qi26ovLm6OBKkqZB62tGbdeY9q/yCRmW7t0GkWOq +// SIG // mDGccZJMOGObmwMFdxNafkzcxYPJ84CfZMBDOMb2QH/T +// SIG // YR4TNiv48dPdsZischX6dF9LW6GPXdTsoXQl5fLKTooB +// SIG // N9oPMx9dmNjV03yONeNS0FPvXSjikO2BRdZMKH7hhsMT +// SIG // FNArA4pjg1oK+lRVXDQ3drUGxrm4HXywRhAX43tD8qDj +// SIG // lxDtZuECAwEAAaOCARswggEXMB0GA1UdDgQWBBSTWvOd +// SIG // +LvQYi1r8LW2VA62hoj9ezAfBgNVHSMEGDAWgBTVYzpc +// SIG // ijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBH +// SIG // hkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +// SIG // bC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0FfMjAxMC0wNy0w +// SIG // MS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAC +// SIG // hj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl +// SIG // cnRzL01pY1RpbVN0YVBDQV8yMDEwLTA3LTAxLmNydDAM +// SIG // BgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMI +// SIG // MA0GCSqGSIb3DQEBCwUAA4IBAQCms/kRfVqfhpK5FY+n +// SIG // GOXYwnVXqSRcrnwASdaipQll4TqGAHAe8O2cc0QuGdom +// SIG // OG3PUFPd7GtmA8IUMBT3qnymX1kpJq3LrOPUAfRBj3PR +// SIG // cCIHwUCtgCbYWmBMrE2sEuNH+snOsP8m6LQHJahQK/gT +// SIG // w7dMxmaBMbxnPGaVQGab0sl28xi7irZvCvke91QuA1Ke +// SIG // LERXJNQsfCC72HWEjWKjkcodBsIt7+B1psOh7rWnxTnR +// SIG // Y2ikBHErJ9EjS32Nuajqp7ugy/jQKO896g9HgQyEopVq +// SIG // G+XZZQ3DjX7LvfVBLTp623ZdvdshjSMsYpaSPFxjYBnG +// SIG // cSjelaiwcQLipVjmMIIGcTCCBFmgAwIBAgIKYQmBKgAA +// SIG // AAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMC +// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT +// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +// SIG // b3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3Qg +// SIG // Q2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAw +// SIG // NzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYD +// SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G +// SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +// SIG // IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcN +// SIG // AQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1 +// SIG // +n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw +// SIG // FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024 +// SIG // OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeG +// SIG // MoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC732H8 +// SIG // RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR +// SIG // 0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw2k4G +// SIG // kbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzA +// SIG // yURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQB +// SIG // gjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ80N7fEYb +// SIG // xTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMA +// SIG // QTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAf +// SIG // BgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBW +// SIG // BgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jv +// SIG // c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29D +// SIG // ZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEE +// SIG // TjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +// SIG // c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y +// SIG // MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGP +// SIG // BgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6 +// SIG // Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9DUFMv +// SIG // ZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABl +// SIG // AGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0AGUA +// SIG // bQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAAfm +// SIG // iFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20Z +// SIG // MLPCxWbJat/15/B4vceoniXj+bzta1RXCCtRgkQS+7lT +// SIG // jMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/ +// SIG // xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbK +// SIG // egBvSzBEJCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/62 +// SIG // 5Y4zu2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpx +// SIG // Y517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqW +// SIG // hqS9nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlX +// SIG // dqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ +// SIG // 3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3 +// SIG // 3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJ +// SIG // KlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffI +// SIG // rE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0Mkvf +// SIG // Y3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA +// SIG // /czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc1bN+ +// SIG // NR4Iuto229Nfj950iEkSoYIC1jCCAj8CAQEwggEAoYHY +// SIG // pIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz +// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL +// SIG // EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExp +// SIG // bWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg2 +// SIG // REYtNEJCQy05MzM1MSUwIwYDVQQDExxNaWNyb3NvZnQg +// SIG // VGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoD +// SIG // FQCgTBXo9MYwk4wpNbE3Uymvk8yQ1KCBgzCBgKR+MHwx +// SIG // CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +// SIG // MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +// SIG // b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv +// SIG // c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3 +// SIG // DQEBBQUAAgUA5HLm3TAiGA8yMDIxMDYxNTE2NDQxM1oY +// SIG // DzIwMjEwNjE2MTY0NDEzWjB2MDwGCisGAQQBhFkKBAEx +// SIG // LjAsMAoCBQDkcubdAgEAMAkCAQACAWsCAf8wBwIBAAIC +// SIG // E64wCgIFAOR0OF0CAQAwNgYKKwYBBAGEWQoEAjEoMCYw +// SIG // DAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQAC +// SIG // AwGGoDANBgkqhkiG9w0BAQUFAAOBgQC2UghGUpHj98Y0 +// SIG // DbTyejbjMycaiW4D1rJdjyllBofFfBFnfP/lhIm/qdSf +// SIG // dT/NabrA4eSf69U02qVXJFmU4xOm6WbI296eQ5Jbu030 +// SIG // SjJpDq0t5lJ1PzN/AcvsazjXNdWtkklGMztIefMLb4/Z +// SIG // iUYxcrIuUBmJ7eBmXANy4dXjITGCAw0wggMJAgEBMIGT +// SIG // MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +// SIG // dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +// SIG // aWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p +// SIG // Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB +// SIG // Ps7Kd1LF9zQrAAAAAAE+MA0GCWCGSAFlAwQCAQUAoIIB +// SIG // SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJ +// SIG // KoZIhvcNAQkEMSIEIL8fYkPAyu5SRLqmwkD41oRXbH6V +// SIG // FLIGfZOdFSUE+upKMIH6BgsqhkiG9w0BCRACLzGB6jCB +// SIG // 5zCB5DCBvQQgi+vOjaqNTvKOZGut49HXrqtwUj2ZCnVO +// SIG // urBwfgQxmxMwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzET +// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk +// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 +// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt +// SIG // cCBQQ0EgMjAxMAITMwAAAT7OyndSxfc0KwAAAAABPjAi +// SIG // BCDLZUh4fhcPzsBvPMpgwcYkq9iBla1/pTiZIJwQ8zJu +// SIG // 4DANBgkqhkiG9w0BAQsFAASCAQBTHtTj/nplYB5DHV+V +// SIG // 5ghNhNUYUhDPHXDmbd08n2XxxgPyQ1IyRqgyJegl1uFJ +// SIG // ABsZ0chybTURShF74yH5AYUfkD4mU418O1Zk+gkdB7wp +// SIG // PCJDoZqV3lvixPf+6g5FonMUBvYYKUluFSmcToYx6gBQ +// SIG // ZN+X0DPJvjZtTz/17sgUbj53219bJgdyvcEYbtz/obyv +// SIG // XUrti3BHRSePXrdHaVabFACkspa9odzsE3ZTnESKmBC8 +// SIG // qI73SSQ1u3D6z38qM72zypVxtQDR1GN608h91Z7nfQ7D +// SIG // u2N/6MgUnq17StUkpvzDBfqPZKS6R1qlmETXDlLW+K0V +// SIG // 0/9NoxB8X1Hl2Ih7 +// SIG // End signature block diff --git a/Client/obj/Debug/net5.0/project.razor.json b/Client/obj/Debug/net5.0/project.razor.json new file mode 100644 index 0000000..bc5cce2 --- /dev/null +++ b/Client/obj/Debug/net5.0/project.razor.json @@ -0,0 +1,13163 @@ +{ + "FilePath": "/home/skins/projects/spanreed/Client/spanreed.Client.csproj", + "Configuration": { + "ConfigurationName": "Default", + "LanguageVersion": "5.0", + "Extensions": [] + }, + "ProjectWorkspaceState": { + "TagHelpers": [ + { + "HashCode": 1191185209, + "Kind": "Components.Component", + "Name": "spanreed.Client.App", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "App" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.App" + } + }, + { + "HashCode": 266990775, + "Kind": "Components.Component", + "Name": "spanreed.Client.App", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.App" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.App", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -697783809, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.FetchData", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "FetchData" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.FetchData" + } + }, + { + "HashCode": 1564948825, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.FetchData", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.Pages.FetchData" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.FetchData", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1082649326, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.Index", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Index" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.Index" + } + }, + { + "HashCode": 1539484046, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.Index", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.Pages.Index" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.Index", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1765758469, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.MessageComponent", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "MessageComponent" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "timestamp", + "TypeName": "System.DateTime", + "Metadata": { + "Common.PropertyName": "timestamp" + } + }, + { + "Kind": "Components.Component", + "Name": "author", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "author" + } + }, + { + "Kind": "Components.Component", + "Name": "content", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "content" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.MessageComponent" + } + }, + { + "HashCode": 1403196743, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.MessageComponent", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.Pages.MessageComponent" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "timestamp", + "TypeName": "System.DateTime", + "Metadata": { + "Common.PropertyName": "timestamp" + } + }, + { + "Kind": "Components.Component", + "Name": "author", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "author" + } + }, + { + "Kind": "Components.Component", + "Name": "content", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "content" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.MessageComponent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1752973661, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.Room", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Room" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "room", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "room" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.Room" + } + }, + { + "HashCode": 1025965652, + "Kind": "Components.Component", + "Name": "spanreed.Client.Pages.Room", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.Pages.Room" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "room", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "room" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Pages.Room", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 177188406, + "Kind": "Components.Component", + "Name": "spanreed.Client.Shared.SurveyPrompt", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "SurveyPrompt" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "Title", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "Title" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Shared.SurveyPrompt" + } + }, + { + "HashCode": 2029447367, + "Kind": "Components.Component", + "Name": "spanreed.Client.Shared.SurveyPrompt", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.Shared.SurveyPrompt" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "Title", + "TypeName": "System.String", + "Metadata": { + "Common.PropertyName": "Title" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Shared.SurveyPrompt", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -771945470, + "Kind": "Components.Component", + "Name": "spanreed.Client.Shared.MainLayout", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "MainLayout" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "Body", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ", + "Metadata": { + "Common.PropertyName": "Body", + "Components.ChildContent": "True" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Shared.MainLayout" + } + }, + { + "HashCode": 1822816376, + "Kind": "Components.Component", + "Name": "spanreed.Client.Shared.MainLayout", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.Shared.MainLayout" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "Body", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ", + "Metadata": { + "Common.PropertyName": "Body", + "Components.ChildContent": "True" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Shared.MainLayout", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -2122800544, + "Kind": "Components.ChildContent", + "Name": "spanreed.Client.Shared.MainLayout.Body", + "AssemblyName": "spanreed.Client", + "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Body", + "ParentTag": "MainLayout" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "spanreed.Client.Shared.MainLayout.Body", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 142667351, + "Kind": "Components.ChildContent", + "Name": "spanreed.Client.Shared.MainLayout.Body", + "AssemblyName": "spanreed.Client", + "Documentation": "\n \n Gets the content to be rendered inside the layout.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Body", + "ParentTag": "spanreed.Client.Shared.MainLayout" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "spanreed.Client.Shared.MainLayout.Body", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 346675759, + "Kind": "Components.Component", + "Name": "spanreed.Client.Shared.NavMenu", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "NavMenu" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Shared.NavMenu" + } + }, + { + "HashCode": 992471447, + "Kind": "Components.Component", + "Name": "spanreed.Client.Shared.NavMenu", + "AssemblyName": "spanreed.Client", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "spanreed.Client.Shared.NavMenu" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "spanreed.Client.Shared.NavMenu", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1596203606, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.CascadingValue", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n A component that provides a cascading value to all descendant components.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "CascadingValue" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.CascadingValue component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n The content to which the value should be provided.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n The value to be provided.\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Name", + "TypeName": "System.String", + "Documentation": "\n \n Optionally gives a name to the provided value. Descendant components\n will be able to receive the value by specifying this name.\n \n If no name is specified, then descendant components will receive the\n value based the type of value they are requesting.\n \n ", + "Metadata": { + "Common.PropertyName": "Name" + } + }, + { + "Kind": "Components.Component", + "Name": "IsFixed", + "TypeName": "System.Boolean", + "Documentation": "\n \n If true, indicates that will not change. This is a\n performance optimization that allows the framework to skip setting up\n change notifications. Set this flag only if you will not change\n during the component's lifetime.\n \n ", + "Metadata": { + "Common.PropertyName": "IsFixed" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": -177830205, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.CascadingValue", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n A component that provides a cascading value to all descendant components.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.CascadingValue" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.CascadingValue component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n The content to which the value should be provided.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n The value to be provided.\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Name", + "TypeName": "System.String", + "Documentation": "\n \n Optionally gives a name to the provided value. Descendant components\n will be able to receive the value by specifying this name.\n \n If no name is specified, then descendant components will receive the\n value based the type of value they are requesting.\n \n ", + "Metadata": { + "Common.PropertyName": "Name" + } + }, + { + "Kind": "Components.Component", + "Name": "IsFixed", + "TypeName": "System.Boolean", + "Documentation": "\n \n If true, indicates that will not change. This is a\n performance optimization that allows the framework to skip setting up\n change notifications. Set this flag only if you will not change\n during the component's lifetime.\n \n ", + "Metadata": { + "Common.PropertyName": "IsFixed" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -35271158, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n The content to which the value should be provided.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "CascadingValue" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 1719854044, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n The content to which the value should be provided.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Microsoft.AspNetCore.Components.CascadingValue" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 922371580, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.LayoutView", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Displays the specified content inside the specified layout and any further\n nested layouts.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "LayoutView" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the content to display.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Layout", + "TypeName": "System.Type", + "Documentation": "\n \n Gets or sets the type of the layout in which to display the content.\n The type must implement and accept a parameter named .\n \n ", + "Metadata": { + "Common.PropertyName": "Layout" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView" + } + }, + { + "HashCode": 2795776, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.LayoutView", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Displays the specified content inside the specified layout and any further\n nested layouts.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.LayoutView" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the content to display.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Layout", + "TypeName": "System.Type", + "Documentation": "\n \n Gets or sets the type of the layout in which to display the content.\n The type must implement and accept a parameter named .\n \n ", + "Metadata": { + "Common.PropertyName": "Layout" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -914564881, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.LayoutView.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Gets or sets the content to display.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "LayoutView" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 1306841505, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.LayoutView.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Gets or sets the content to display.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Microsoft.AspNetCore.Components.LayoutView" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.LayoutView.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 370922793, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.RouteView", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Displays the specified page component, rendering it inside its layout\n and any further nested layouts.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "RouteView" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "RouteData", + "TypeName": "Microsoft.AspNetCore.Components.RouteData", + "Documentation": "\n \n Gets or sets the route data. This determines the page that will be\n displayed and the parameter values that will be supplied to the page.\n \n ", + "Metadata": { + "Common.PropertyName": "RouteData" + } + }, + { + "Kind": "Components.Component", + "Name": "DefaultLayout", + "TypeName": "System.Type", + "Documentation": "\n \n Gets or sets the type of a layout to be used if the page does not\n declare any layout. If specified, the type must implement \n and accept a parameter named .\n \n ", + "Metadata": { + "Common.PropertyName": "DefaultLayout" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.RouteView" + } + }, + { + "HashCode": -1708901950, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.RouteView", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Displays the specified page component, rendering it inside its layout\n and any further nested layouts.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.RouteView" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "RouteData", + "TypeName": "Microsoft.AspNetCore.Components.RouteData", + "Documentation": "\n \n Gets or sets the route data. This determines the page that will be\n displayed and the parameter values that will be supplied to the page.\n \n ", + "Metadata": { + "Common.PropertyName": "RouteData" + } + }, + { + "Kind": "Components.Component", + "Name": "DefaultLayout", + "TypeName": "System.Type", + "Documentation": "\n \n Gets or sets the type of a layout to be used if the page does not\n declare any layout. If specified, the type must implement \n and accept a parameter named .\n \n ", + "Metadata": { + "Common.PropertyName": "DefaultLayout" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.RouteView", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -368589420, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Routing.Router", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n A component that supplies route data corresponding to the current navigation state.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Router" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AppAssembly", + "TypeName": "System.Reflection.Assembly", + "Documentation": "\n \n Gets or sets the assembly that should be searched for components matching the URI.\n \n ", + "Metadata": { + "Common.PropertyName": "AppAssembly" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAssemblies", + "TypeName": "System.Collections.Generic.IEnumerable", + "Documentation": "\n \n Gets or sets a collection of additional assemblies that should be searched for components\n that can match URIs.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAssemblies" + } + }, + { + "Kind": "Components.Component", + "Name": "NotFound", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ", + "Metadata": { + "Common.PropertyName": "NotFound", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Found", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ", + "Metadata": { + "Common.PropertyName": "Found", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Navigating", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ", + "Metadata": { + "Common.PropertyName": "Navigating", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnNavigateAsync", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a handler that should be called before navigating to a new page.\n \n ", + "Metadata": { + "Common.PropertyName": "OnNavigateAsync", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "PreferExactMatches", + "TypeName": "System.Boolean", + "Documentation": "\n \n Gets or sets a flag to indicate whether route matching should prefer exact matches\n over wildcards.\n \n \n \n Important: all applications should explicitly set this to true. The option to set it to false\n (or leave unset, which defaults to false) is only provided for backward compatibility.\n In .NET 6, this option will be removed and the router will always prefer exact matches.\n \n \n ", + "Metadata": { + "Common.PropertyName": "PreferExactMatches" + } + }, + { + "Kind": "Components.Component", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for all child content expressions.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router" + } + }, + { + "HashCode": -1113579837, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Routing.Router", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n A component that supplies route data corresponding to the current navigation state.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Routing.Router" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AppAssembly", + "TypeName": "System.Reflection.Assembly", + "Documentation": "\n \n Gets or sets the assembly that should be searched for components matching the URI.\n \n ", + "Metadata": { + "Common.PropertyName": "AppAssembly" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAssemblies", + "TypeName": "System.Collections.Generic.IEnumerable", + "Documentation": "\n \n Gets or sets a collection of additional assemblies that should be searched for components\n that can match URIs.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAssemblies" + } + }, + { + "Kind": "Components.Component", + "Name": "NotFound", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ", + "Metadata": { + "Common.PropertyName": "NotFound", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Found", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ", + "Metadata": { + "Common.PropertyName": "Found", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Navigating", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ", + "Metadata": { + "Common.PropertyName": "Navigating", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnNavigateAsync", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a handler that should be called before navigating to a new page.\n \n ", + "Metadata": { + "Common.PropertyName": "OnNavigateAsync", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "PreferExactMatches", + "TypeName": "System.Boolean", + "Documentation": "\n \n Gets or sets a flag to indicate whether route matching should prefer exact matches\n over wildcards.\n \n \n \n Important: all applications should explicitly set this to true. The option to set it to false\n (or leave unset, which defaults to false) is only provided for backward compatibility.\n In .NET 6, this option will be removed and the router will always prefer exact matches.\n \n \n ", + "Metadata": { + "Common.PropertyName": "PreferExactMatches" + } + }, + { + "Kind": "Components.Component", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for all child content expressions.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1003405967, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.Router.NotFound", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "NotFound", + "ParentTag": "Router" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.NotFound", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": -844476251, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.Router.NotFound", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Gets or sets the content to display when no match is found for the requested route.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "NotFound", + "ParentTag": "Microsoft.AspNetCore.Components.Routing.Router" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.NotFound", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1575119208, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.Router.Found", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Found", + "ParentTag": "Router" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'Found' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Found", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 1102897959, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.Router.Found", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Gets or sets the content to display when a match is found for the requested route.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Found", + "ParentTag": "Microsoft.AspNetCore.Components.Routing.Router" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'Found' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Found", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 708702552, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.Router.Navigating", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Navigating", + "ParentTag": "Router" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Navigating", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": -798934847, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.Router.Navigating", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "\n \n Get or sets the content to display when asynchronous navigation is in progress.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Navigating", + "ParentTag": "Microsoft.AspNetCore.Components.Routing.Router" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.Router.Navigating", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -2052074691, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator", + "AssemblyName": "Microsoft.AspNetCore.Components.Forms", + "Documentation": "\n \n Adds Data Annotations validation support to an .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "DataAnnotationsValidator" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator" + } + }, + { + "HashCode": 73096226, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator", + "AssemblyName": "Microsoft.AspNetCore.Components.Forms", + "Documentation": "\n \n Adds Data Annotations validation support to an .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator" + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1436460170, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.EditForm", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Renders a form element that cascades an to descendants.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "EditForm" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created form element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "EditContext", + "TypeName": "Microsoft.AspNetCore.Components.Forms.EditContext", + "Documentation": "\n \n Supplies the edit context explicitly. If using this parameter, do not\n also supply , since the model value will be taken\n from the property.\n \n ", + "Metadata": { + "Common.PropertyName": "EditContext" + } + }, + { + "Kind": "Components.Component", + "Name": "Model", + "TypeName": "System.Object", + "Documentation": "\n \n Specifies the top-level model object for the form. An edit context will\n be constructed for this model. If using this parameter, do not also supply\n a value for .\n \n ", + "Metadata": { + "Common.PropertyName": "Model" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnSubmit", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n A callback that will be invoked when the form is submitted.\n \n If using this parameter, you are responsible for triggering any validation\n manually, e.g., by calling .\n \n ", + "Metadata": { + "Common.PropertyName": "OnSubmit", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnValidSubmit", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be valid.\n \n ", + "Metadata": { + "Common.PropertyName": "OnValidSubmit", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnInvalidSubmit", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be invalid.\n \n ", + "Metadata": { + "Common.PropertyName": "OnInvalidSubmit", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for all child content expressions.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm" + } + }, + { + "HashCode": 870285931, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.EditForm", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Renders a form element that cascades an to descendants.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.EditForm" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created form element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "EditContext", + "TypeName": "Microsoft.AspNetCore.Components.Forms.EditContext", + "Documentation": "\n \n Supplies the edit context explicitly. If using this parameter, do not\n also supply , since the model value will be taken\n from the property.\n \n ", + "Metadata": { + "Common.PropertyName": "EditContext" + } + }, + { + "Kind": "Components.Component", + "Name": "Model", + "TypeName": "System.Object", + "Documentation": "\n \n Specifies the top-level model object for the form. An edit context will\n be constructed for this model. If using this parameter, do not also supply\n a value for .\n \n ", + "Metadata": { + "Common.PropertyName": "Model" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnSubmit", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n A callback that will be invoked when the form is submitted.\n \n If using this parameter, you are responsible for triggering any validation\n manually, e.g., by calling .\n \n ", + "Metadata": { + "Common.PropertyName": "OnSubmit", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnValidSubmit", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be valid.\n \n ", + "Metadata": { + "Common.PropertyName": "OnValidSubmit", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OnInvalidSubmit", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n A callback that will be invoked when the form is submitted and the\n is determined to be invalid.\n \n ", + "Metadata": { + "Common.PropertyName": "OnInvalidSubmit", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for all child content expressions.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 809561266, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "EditForm" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": -1647597665, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Specifies the content to be rendered inside this .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Microsoft.AspNetCore.Components.Forms.EditForm" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1279141736, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing values.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputCheckbox" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "System.Boolean", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox" + } + }, + { + "HashCode": -200801175, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing values.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "System.Boolean", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1965617958, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing date values.\n Supported types are and .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputDate" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputDate component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ParsingErrorMessage", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ", + "Metadata": { + "Common.PropertyName": "ParsingErrorMessage" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputDate", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": -1850679914, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing date values.\n Supported types are and .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputDate" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputDate component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ParsingErrorMessage", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ", + "Metadata": { + "Common.PropertyName": "ParsingErrorMessage" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputDate", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 2113963652, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputFile", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A component that wraps the HTML file input element and supplies a for each file's contents.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputFile" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "OnChange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets the event callback that will be invoked when the collection of selected files changes.\n \n ", + "Metadata": { + "Common.PropertyName": "OnChange", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputFile" + } + }, + { + "HashCode": 1852972562, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputFile", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A component that wraps the HTML file input element and supplies a for each file's contents.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputFile" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "OnChange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets the event callback that will be invoked when the collection of selected files changes.\n \n ", + "Metadata": { + "Common.PropertyName": "OnChange", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputFile", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 412125931, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing numeric values.\n Supported numeric types are , , , , , .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputNumber" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputNumber component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ParsingErrorMessage", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ", + "Metadata": { + "Common.PropertyName": "ParsingErrorMessage" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": -1904864130, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing numeric values.\n Supported numeric types are , , , , , .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputNumber" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputNumber component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ParsingErrorMessage", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the error message used when displaying an a parsing error.\n \n ", + "Metadata": { + "Common.PropertyName": "ParsingErrorMessage" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1333347381, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadio", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component used for selecting a value from a group of choices.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputRadio" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadio component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of this input.\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Name", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the name of the parent input radio group.\n \n ", + "Metadata": { + "Common.PropertyName": "Name" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadio", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": -22873129, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadio", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component used for selecting a value from a group of choices.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputRadio" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadio component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the input element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of this input.\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Name", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the name of the parent input radio group.\n \n ", + "Metadata": { + "Common.PropertyName": "Name" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadio", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1239836607, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Groups child components.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputRadioGroup" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadioGroup component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Name", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the name of the group.\n \n ", + "Metadata": { + "Common.PropertyName": "Name" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": -350018879, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Groups child components.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadioGroup component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Name", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the name of the group.\n \n ", + "Metadata": { + "Common.PropertyName": "Name" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 212756210, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "InputRadioGroup" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 34990657, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1025600496, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A dropdown selection component.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputSelect" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputSelect component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": 1873727229, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A dropdown selection component.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputSelect" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputSelect component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "TValue", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 792233324, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "InputSelect" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": -1018782829, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the child content to be rendering inside the select element.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Microsoft.AspNetCore.Components.Forms.InputSelect" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 705667761, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputText", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing values.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputText" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputText" + } + }, + { + "HashCode": 2139162199, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputText", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n An input component for editing values.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputText" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputText", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1889729923, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A multiline input component for editing values.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputTextArea" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputTextArea" + } + }, + { + "HashCode": 1091411518, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A multiline input component for editing values.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputTextArea" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "Value", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the value of the input. This should be used with two-way binding.\n \n \n @bind-Value=\"model.PropertyName\"\n \n ", + "Metadata": { + "Common.PropertyName": "Value" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueChanged", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "\n \n Gets or sets a callback that updates the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueChanged", + "Components.EventCallback": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ValueExpression", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Gets or sets an expression that identifies the bound value.\n \n ", + "Metadata": { + "Common.PropertyName": "ValueExpression" + } + }, + { + "Kind": "Components.Component", + "Name": "DisplayName", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the display name for this field.\n This value is used when generating error messages when the input value fails to parse correctly.\n \n ", + "Metadata": { + "Common.PropertyName": "DisplayName" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputTextArea", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1605464162, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.ValidationMessage", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Displays a list of validation messages for a specified field within a cascaded .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ValidationMessage" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.ValidationMessage component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created div element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "For", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Specifies the field for which validation messages should be displayed.\n \n ", + "Metadata": { + "Common.PropertyName": "For", + "Components.GenericTyped": "True" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationMessage", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": -324456474, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.ValidationMessage", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Displays a list of validation messages for a specified field within a cascaded .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.ValidationMessage" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TValue", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.ValidationMessage component.", + "Metadata": { + "Common.PropertyName": "TValue", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created div element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "For", + "TypeName": "System.Linq.Expressions.Expression>", + "Documentation": "\n \n Specifies the field for which validation messages should be displayed.\n \n ", + "Metadata": { + "Common.PropertyName": "For", + "Components.GenericTyped": "True" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationMessage", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1180271355, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.ValidationSummary", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Displays a list of validation messages from a cascaded .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ValidationSummary" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "Model", + "TypeName": "System.Object", + "Documentation": "\n \n Gets or sets the model to produce the list of validation messages for.\n When specified, this lists all errors that are associated with the model instance.\n \n ", + "Metadata": { + "Common.PropertyName": "Model" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created ul element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationSummary" + } + }, + { + "HashCode": 2136457671, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Forms.ValidationSummary", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Displays a list of validation messages from a cascaded .\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.ValidationSummary" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "Model", + "TypeName": "System.Object", + "Documentation": "\n \n Gets or sets the model to produce the list of validation messages for.\n When specified, this lists all errors that are associated with the model instance.\n \n ", + "Metadata": { + "Common.PropertyName": "Model" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be applied to the created ul element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.ValidationSummary", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -2135673687, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Routing.NavLink", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A component that renders an anchor tag, automatically toggling its 'active'\n class based on whether its 'href' matches the current URI.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "NavLink" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "ActiveClass", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the CSS class name applied to the NavLink when the\n current route matches the NavLink href.\n \n ", + "Metadata": { + "Common.PropertyName": "ActiveClass" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be added to the generated\n a element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the child content of the component.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Match", + "TypeName": "Microsoft.AspNetCore.Components.Routing.NavLinkMatch", + "IsEnum": true, + "Documentation": "\n \n Gets or sets a value representing the URL matching behavior.\n \n ", + "Metadata": { + "Common.PropertyName": "Match" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink" + } + }, + { + "HashCode": 399305593, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Routing.NavLink", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n A component that renders an anchor tag, automatically toggling its 'active'\n class based on whether its 'href' matches the current URI.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Routing.NavLink" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "ActiveClass", + "TypeName": "System.String", + "Documentation": "\n \n Gets or sets the CSS class name applied to the NavLink when the\n current route matches the NavLink href.\n \n ", + "Metadata": { + "Common.PropertyName": "ActiveClass" + } + }, + { + "Kind": "Components.Component", + "Name": "AdditionalAttributes", + "TypeName": "System.Collections.Generic.IReadOnlyDictionary", + "Documentation": "\n \n Gets or sets a collection of additional attributes that will be added to the generated\n a element.\n \n ", + "Metadata": { + "Common.PropertyName": "AdditionalAttributes" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the child content of the component.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Match", + "TypeName": "Microsoft.AspNetCore.Components.Routing.NavLinkMatch", + "IsEnum": true, + "Documentation": "\n \n Gets or sets a value representing the URL matching behavior.\n \n ", + "Metadata": { + "Common.PropertyName": "Match" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1995677619, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the child content of the component.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "NavLink" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 880671840, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the child content of the component.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Microsoft.AspNetCore.Components.Routing.NavLink" + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1409179337, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Provides functionality for rendering a virtualized list of items.\n \n The context type for the items being rendered.\n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TItem", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TItem for the Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize component.", + "Metadata": { + "Common.PropertyName": "TItem", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ItemContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "Metadata": { + "Common.PropertyName": "ItemContent", + "Components.ChildContent": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Placeholder", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ", + "Metadata": { + "Common.PropertyName": "Placeholder", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ItemSize", + "TypeName": "System.Single", + "Documentation": "\n \n Gets the size of each item in pixels. Defaults to 50px.\n \n ", + "Metadata": { + "Common.PropertyName": "ItemSize" + } + }, + { + "Kind": "Components.Component", + "Name": "ItemsProvider", + "TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderDelegate", + "Documentation": "\n \n Gets or sets the function providing items to the list.\n \n ", + "Metadata": { + "Common.PropertyName": "ItemsProvider", + "Components.DelegateSignature": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Items", + "TypeName": "System.Collections.Generic.ICollection", + "Documentation": "\n \n Gets or sets the fixed item source.\n \n ", + "Metadata": { + "Common.PropertyName": "Items", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OverscanCount", + "TypeName": "System.Int32", + "Documentation": "\n \n Gets or sets a value that determines how many additional items will be rendered\n before and after the visible region. This help to reduce the frequency of rendering\n during scrolling. However, higher values mean that more elements will be present\n in the page.\n \n ", + "Metadata": { + "Common.PropertyName": "OverscanCount" + } + }, + { + "Kind": "Components.Component", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for all child content expressions.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize", + "Components.GenericTyped": "True" + } + }, + { + "HashCode": -1466918058, + "Kind": "Components.Component", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Provides functionality for rendering a virtualized list of items.\n \n The context type for the items being rendered.\n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Component", + "Name": "TItem", + "TypeName": "System.Type", + "Documentation": "Specifies the type of the type parameter TItem for the Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize component.", + "Metadata": { + "Common.PropertyName": "TItem", + "Components.TypeParameter": "True", + "Components.TypeParameterIsCascading": "False" + } + }, + { + "Kind": "Components.Component", + "Name": "ChildContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "Metadata": { + "Common.PropertyName": "ChildContent", + "Components.ChildContent": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ItemContent", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "Metadata": { + "Common.PropertyName": "ItemContent", + "Components.ChildContent": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Placeholder", + "TypeName": "Microsoft.AspNetCore.Components.RenderFragment", + "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ", + "Metadata": { + "Common.PropertyName": "Placeholder", + "Components.ChildContent": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "ItemSize", + "TypeName": "System.Single", + "Documentation": "\n \n Gets the size of each item in pixels. Defaults to 50px.\n \n ", + "Metadata": { + "Common.PropertyName": "ItemSize" + } + }, + { + "Kind": "Components.Component", + "Name": "ItemsProvider", + "TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderDelegate", + "Documentation": "\n \n Gets or sets the function providing items to the list.\n \n ", + "Metadata": { + "Common.PropertyName": "ItemsProvider", + "Components.DelegateSignature": "True", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "Items", + "TypeName": "System.Collections.Generic.ICollection", + "Documentation": "\n \n Gets or sets the fixed item source.\n \n ", + "Metadata": { + "Common.PropertyName": "Items", + "Components.GenericTyped": "True" + } + }, + { + "Kind": "Components.Component", + "Name": "OverscanCount", + "TypeName": "System.Int32", + "Documentation": "\n \n Gets or sets a value that determines how many additional items will be rendered\n before and after the visible region. This help to reduce the frequency of rendering\n during scrolling. However, higher values mean that more elements will be present\n in the page.\n \n ", + "Metadata": { + "Common.PropertyName": "OverscanCount" + } + }, + { + "Kind": "Components.Component", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for all child content expressions.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.IComponent", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize", + "Components.GenericTyped": "True", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -80136384, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 645001219, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ChildContent", + "ParentTag": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'ChildContent' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1508856971, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ItemContent", + "ParentTag": "Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'ItemContent' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": 153812951, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the item template for the list.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "ItemContent", + "ParentTag": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'ItemContent' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1243321575, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Placeholder", + "ParentTag": "Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'Placeholder' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder", + "Components.IsSpecialKind": "Components.ChildContent" + } + }, + { + "HashCode": -688767184, + "Kind": "Components.ChildContent", + "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "\n \n Gets or sets the template for items that have not yet been loaded in memory.\n \n ", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Placeholder", + "ParentTag": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize" + } + ], + "BoundAttributes": [ + { + "Kind": "Components.ChildContent", + "Name": "Context", + "TypeName": "System.String", + "Documentation": "Specifies the parameter name for the 'Placeholder' child content expression.", + "Metadata": { + "Components.ChildContentParameterName": "True", + "Common.PropertyName": "Context" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder", + "Components.IsSpecialKind": "Components.ChildContent", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -644107692, + "Kind": "Components.EventHandler", + "Name": "onfocus", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onfocus' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocus", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocus:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocus:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onfocus", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onfocus' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onfocus" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfocus' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onfocus' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.FocusEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 301076750, + "Kind": "Components.EventHandler", + "Name": "onblur", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onblur' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onblur", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onblur:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onblur:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onblur", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onblur' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onblur" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onblur' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onblur' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.FocusEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 475121854, + "Kind": "Components.EventHandler", + "Name": "onfocusin", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onfocusin' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocusin", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocusin:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocusin:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onfocusin", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onfocusin' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onfocusin" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfocusin' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onfocusin' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.FocusEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -740336861, + "Kind": "Components.EventHandler", + "Name": "onfocusout", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onfocusout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocusout", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocusout:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfocusout:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onfocusout", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onfocusout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onfocusout" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfocusout' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onfocusout' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.FocusEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1118096845, + "Kind": "Components.EventHandler", + "Name": "onmouseover", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onmouseover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseover", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseover:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseover:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onmouseover", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onmouseover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onmouseover" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmouseover' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onmouseover' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1925457217, + "Kind": "Components.EventHandler", + "Name": "onmouseout", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onmouseout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseout", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseout:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseout:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onmouseout", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onmouseout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onmouseout" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmouseout' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onmouseout' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 44595426, + "Kind": "Components.EventHandler", + "Name": "onmousemove", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onmousemove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousemove", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousemove:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousemove:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onmousemove", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onmousemove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onmousemove" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmousemove' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onmousemove' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -64536435, + "Kind": "Components.EventHandler", + "Name": "onmousedown", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onmousedown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousedown", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousedown:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousedown:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onmousedown", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onmousedown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onmousedown" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmousedown' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onmousedown' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1194751786, + "Kind": "Components.EventHandler", + "Name": "onmouseup", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onmouseup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseup", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseup:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmouseup:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onmouseup", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onmouseup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onmouseup" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmouseup' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onmouseup' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 222693111, + "Kind": "Components.EventHandler", + "Name": "onclick", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onclick", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onclick:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onclick:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onclick", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onclick" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onclick' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onclick' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1316280423, + "Kind": "Components.EventHandler", + "Name": "ondblclick", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondblclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondblclick", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondblclick:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondblclick:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondblclick", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondblclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondblclick" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondblclick' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondblclick' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1363293015, + "Kind": "Components.EventHandler", + "Name": "onwheel", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onwheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onwheel", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onwheel:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onwheel:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onwheel", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onwheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onwheel" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onwheel' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onwheel' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.WheelEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -23599152, + "Kind": "Components.EventHandler", + "Name": "onmousewheel", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onmousewheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousewheel", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousewheel:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onmousewheel:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onmousewheel", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onmousewheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onmousewheel" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmousewheel' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onmousewheel' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.WheelEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1311546515, + "Kind": "Components.EventHandler", + "Name": "oncontextmenu", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oncontextmenu' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncontextmenu", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncontextmenu:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncontextmenu:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oncontextmenu", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oncontextmenu' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oncontextmenu" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncontextmenu' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oncontextmenu' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.MouseEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1016713988, + "Kind": "Components.EventHandler", + "Name": "ondrag", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondrag' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondrag", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondrag:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondrag:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondrag", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondrag' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondrag" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondrag' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondrag' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.DragEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1005441234, + "Kind": "Components.EventHandler", + "Name": "ondragend", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondragend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragend", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragend:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragend:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondragend", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondragend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondragend" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragend' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondragend' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.DragEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -621103889, + "Kind": "Components.EventHandler", + "Name": "ondragenter", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondragenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragenter", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragenter:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragenter:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondragenter", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondragenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondragenter" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragenter' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondragenter' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.DragEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1960065148, + "Kind": "Components.EventHandler", + "Name": "ondragleave", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondragleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragleave", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragleave:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragleave:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondragleave", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondragleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondragleave" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragleave' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondragleave' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.DragEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1481930962, + "Kind": "Components.EventHandler", + "Name": "ondragover", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondragover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragover", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragover:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragover:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondragover", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondragover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondragover" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragover' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondragover' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.DragEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1619121685, + "Kind": "Components.EventHandler", + "Name": "ondragstart", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondragstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragstart", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragstart:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondragstart:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondragstart", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondragstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondragstart" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragstart' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondragstart' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.DragEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1921590370, + "Kind": "Components.EventHandler", + "Name": "ondrop", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondrop' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondrop", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondrop:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondrop:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondrop", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondrop' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondrop" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondrop' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondrop' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.DragEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1004438740, + "Kind": "Components.EventHandler", + "Name": "onkeydown", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onkeydown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeydown", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeydown:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeydown:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onkeydown", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onkeydown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onkeydown" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onkeydown' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onkeydown' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.KeyboardEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1082353870, + "Kind": "Components.EventHandler", + "Name": "onkeyup", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onkeyup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeyup", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeyup:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeyup:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onkeyup", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onkeyup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onkeyup" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onkeyup' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onkeyup' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.KeyboardEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1232496526, + "Kind": "Components.EventHandler", + "Name": "onkeypress", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onkeypress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeypress", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeypress:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onkeypress:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onkeypress", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onkeypress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onkeypress" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onkeypress' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onkeypress' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.KeyboardEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -376416649, + "Kind": "Components.EventHandler", + "Name": "onchange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onchange' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onchange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onchange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onchange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onchange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onchange' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onchange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onchange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onchange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.ChangeEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1629570010, + "Kind": "Components.EventHandler", + "Name": "oninput", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oninput' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oninput", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oninput:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oninput:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oninput", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oninput' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oninput" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oninput' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oninput' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.ChangeEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 679376251, + "Kind": "Components.EventHandler", + "Name": "oninvalid", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oninvalid' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oninvalid", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oninvalid:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oninvalid:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oninvalid", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oninvalid' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oninvalid" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oninvalid' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oninvalid' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -2020455114, + "Kind": "Components.EventHandler", + "Name": "onreset", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onreset' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onreset", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onreset:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onreset:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onreset", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onreset' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onreset" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onreset' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onreset' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -223091253, + "Kind": "Components.EventHandler", + "Name": "onselect", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onselect' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselect", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselect:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselect:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onselect", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onselect' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onselect" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onselect' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onselect' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1638060663, + "Kind": "Components.EventHandler", + "Name": "onselectstart", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onselectstart' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselectstart", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselectstart:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselectstart:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onselectstart", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onselectstart' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onselectstart" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onselectstart' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onselectstart' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1027097714, + "Kind": "Components.EventHandler", + "Name": "onselectionchange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onselectionchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselectionchange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselectionchange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onselectionchange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onselectionchange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onselectionchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onselectionchange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onselectionchange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onselectionchange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 628223403, + "Kind": "Components.EventHandler", + "Name": "onsubmit", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onsubmit' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onsubmit", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onsubmit:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onsubmit:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onsubmit", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onsubmit' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onsubmit" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onsubmit' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onsubmit' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 903885889, + "Kind": "Components.EventHandler", + "Name": "onbeforecopy", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onbeforecopy' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforecopy", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforecopy:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforecopy:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onbeforecopy", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onbeforecopy' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onbeforecopy" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforecopy' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onbeforecopy' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -130023678, + "Kind": "Components.EventHandler", + "Name": "onbeforecut", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onbeforecut' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforecut", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforecut:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforecut:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onbeforecut", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onbeforecut' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onbeforecut" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforecut' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onbeforecut' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1194234681, + "Kind": "Components.EventHandler", + "Name": "onbeforepaste", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onbeforepaste' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforepaste", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforepaste:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforepaste:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onbeforepaste", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onbeforepaste' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onbeforepaste" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforepaste' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onbeforepaste' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1442922254, + "Kind": "Components.EventHandler", + "Name": "oncopy", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oncopy' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncopy", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncopy:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncopy:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oncopy", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oncopy' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oncopy" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncopy' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oncopy' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ClipboardEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 480424193, + "Kind": "Components.EventHandler", + "Name": "oncut", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oncut' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncut", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncut:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncut:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oncut", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oncut' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oncut" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncut' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oncut' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ClipboardEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1734934500, + "Kind": "Components.EventHandler", + "Name": "onpaste", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpaste' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpaste", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpaste:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpaste:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpaste", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpaste' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpaste" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpaste' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpaste' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ClipboardEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 620868209, + "Kind": "Components.EventHandler", + "Name": "ontouchcancel", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontouchcancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchcancel", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchcancel:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchcancel:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontouchcancel", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontouchcancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontouchcancel" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchcancel' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontouchcancel' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.TouchEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -760304436, + "Kind": "Components.EventHandler", + "Name": "ontouchend", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontouchend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchend", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchend:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchend:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontouchend", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontouchend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontouchend" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchend' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontouchend' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.TouchEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -679129605, + "Kind": "Components.EventHandler", + "Name": "ontouchmove", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontouchmove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchmove", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchmove:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchmove:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontouchmove", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontouchmove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontouchmove" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchmove' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontouchmove' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.TouchEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1926149077, + "Kind": "Components.EventHandler", + "Name": "ontouchstart", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontouchstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchstart", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchstart:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchstart:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontouchstart", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontouchstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontouchstart" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchstart' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontouchstart' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.TouchEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1127085718, + "Kind": "Components.EventHandler", + "Name": "ontouchenter", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontouchenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchenter", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchenter:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchenter:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontouchenter", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontouchenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontouchenter" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchenter' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontouchenter' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.TouchEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 763031942, + "Kind": "Components.EventHandler", + "Name": "ontouchleave", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontouchleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchleave", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchleave:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontouchleave:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontouchleave", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontouchleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontouchleave" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchleave' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontouchleave' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.TouchEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -2026313892, + "Kind": "Components.EventHandler", + "Name": "ongotpointercapture", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ongotpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ongotpointercapture", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ongotpointercapture:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ongotpointercapture:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ongotpointercapture", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ongotpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ongotpointercapture" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ongotpointercapture' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ongotpointercapture' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 765738847, + "Kind": "Components.EventHandler", + "Name": "onlostpointercapture", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onlostpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onlostpointercapture", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onlostpointercapture:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onlostpointercapture:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onlostpointercapture", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onlostpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onlostpointercapture" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onlostpointercapture' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onlostpointercapture' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 384363579, + "Kind": "Components.EventHandler", + "Name": "onpointercancel", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointercancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointercancel", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointercancel:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointercancel:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointercancel", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointercancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointercancel" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointercancel' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointercancel' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -94731109, + "Kind": "Components.EventHandler", + "Name": "onpointerdown", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerdown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerdown", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerdown:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerdown:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerdown", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerdown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerdown" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerdown' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerdown' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1747724136, + "Kind": "Components.EventHandler", + "Name": "onpointerenter", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerenter", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerenter:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerenter:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerenter", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerenter" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerenter' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerenter' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1506122907, + "Kind": "Components.EventHandler", + "Name": "onpointerleave", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerleave", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerleave:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerleave:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerleave", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerleave" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerleave' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerleave' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1683306081, + "Kind": "Components.EventHandler", + "Name": "onpointermove", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointermove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointermove", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointermove:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointermove:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointermove", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointermove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointermove" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointermove' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointermove' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -958295423, + "Kind": "Components.EventHandler", + "Name": "onpointerout", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerout", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerout:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerout:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerout", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerout" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerout' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerout' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1526334353, + "Kind": "Components.EventHandler", + "Name": "onpointerover", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerover", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerover:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerover:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerover", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerover" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerover' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerover' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1758363715, + "Kind": "Components.EventHandler", + "Name": "onpointerup", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerup", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerup:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerup:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerup", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerup" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerup' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerup' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.PointerEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 894581245, + "Kind": "Components.EventHandler", + "Name": "oncanplay", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oncanplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncanplay", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncanplay:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncanplay:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oncanplay", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oncanplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oncanplay" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncanplay' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oncanplay' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -157423448, + "Kind": "Components.EventHandler", + "Name": "oncanplaythrough", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oncanplaythrough' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncanplaythrough", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncanplaythrough:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncanplaythrough:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oncanplaythrough", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oncanplaythrough' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oncanplaythrough" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncanplaythrough' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oncanplaythrough' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1996897530, + "Kind": "Components.EventHandler", + "Name": "oncuechange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@oncuechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncuechange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncuechange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@oncuechange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@oncuechange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@oncuechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "oncuechange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncuechange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@oncuechange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -808420391, + "Kind": "Components.EventHandler", + "Name": "ondurationchange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondurationchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondurationchange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondurationchange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondurationchange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondurationchange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondurationchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondurationchange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondurationchange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondurationchange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1376368759, + "Kind": "Components.EventHandler", + "Name": "onemptied", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onemptied' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onemptied", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onemptied:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onemptied:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onemptied", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onemptied' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onemptied" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onemptied' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onemptied' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1811337862, + "Kind": "Components.EventHandler", + "Name": "onpause", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpause' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpause", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpause:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpause:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpause", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpause' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpause" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpause' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpause' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -253528167, + "Kind": "Components.EventHandler", + "Name": "onplay", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onplay", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onplay:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onplay:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onplay", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onplay" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onplay' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onplay' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -2031922570, + "Kind": "Components.EventHandler", + "Name": "onplaying", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onplaying' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onplaying", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onplaying:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onplaying:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onplaying", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onplaying' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onplaying" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onplaying' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onplaying' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -2018726793, + "Kind": "Components.EventHandler", + "Name": "onratechange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onratechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onratechange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onratechange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onratechange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onratechange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onratechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onratechange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onratechange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onratechange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 70369209, + "Kind": "Components.EventHandler", + "Name": "onseeked", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onseeked' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onseeked", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onseeked:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onseeked:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onseeked", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onseeked' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onseeked" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onseeked' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onseeked' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1002323276, + "Kind": "Components.EventHandler", + "Name": "onseeking", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onseeking' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onseeking", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onseeking:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onseeking:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onseeking", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onseeking' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onseeking" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onseeking' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onseeking' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1600463553, + "Kind": "Components.EventHandler", + "Name": "onstalled", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onstalled' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onstalled", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onstalled:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onstalled:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onstalled", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onstalled' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onstalled" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onstalled' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onstalled' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1480128852, + "Kind": "Components.EventHandler", + "Name": "onstop", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onstop' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onstop", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onstop:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onstop:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onstop", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onstop' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onstop" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onstop' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onstop' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 306836835, + "Kind": "Components.EventHandler", + "Name": "onsuspend", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onsuspend' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onsuspend", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onsuspend:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onsuspend:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onsuspend", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onsuspend' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onsuspend" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onsuspend' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onsuspend' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1707414461, + "Kind": "Components.EventHandler", + "Name": "ontimeupdate", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontimeupdate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontimeupdate", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontimeupdate:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontimeupdate:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontimeupdate", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontimeupdate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontimeupdate" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontimeupdate' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontimeupdate' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -724606195, + "Kind": "Components.EventHandler", + "Name": "onvolumechange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onvolumechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onvolumechange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onvolumechange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onvolumechange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onvolumechange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onvolumechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onvolumechange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onvolumechange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onvolumechange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 982250881, + "Kind": "Components.EventHandler", + "Name": "onwaiting", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onwaiting' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onwaiting", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onwaiting:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onwaiting:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onwaiting", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onwaiting' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onwaiting" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onwaiting' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onwaiting' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1385365802, + "Kind": "Components.EventHandler", + "Name": "onloadstart", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onloadstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadstart", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadstart:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadstart:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onloadstart", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onloadstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onloadstart" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadstart' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onloadstart' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ProgressEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1746881094, + "Kind": "Components.EventHandler", + "Name": "ontimeout", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontimeout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontimeout", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontimeout:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontimeout:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontimeout", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontimeout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontimeout" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontimeout' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontimeout' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ProgressEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 310877459, + "Kind": "Components.EventHandler", + "Name": "onabort", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onabort' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onabort", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onabort:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onabort:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onabort", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onabort' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onabort" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onabort' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onabort' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ProgressEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1118558907, + "Kind": "Components.EventHandler", + "Name": "onload", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onload' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onload", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onload:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onload:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onload", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onload' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onload" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onload' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onload' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ProgressEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1755472486, + "Kind": "Components.EventHandler", + "Name": "onloadend", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onloadend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadend", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadend:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadend:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onloadend", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onloadend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onloadend" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadend' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onloadend' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ProgressEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1236751283, + "Kind": "Components.EventHandler", + "Name": "onprogress", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onprogress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onprogress", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onprogress:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onprogress:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onprogress", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onprogress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onprogress" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onprogress' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onprogress' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ProgressEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1852415678, + "Kind": "Components.EventHandler", + "Name": "onerror", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onerror' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ErrorEventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onerror", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onerror:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onerror:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onerror", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onerror' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ErrorEventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onerror" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onerror' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onerror' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "Microsoft.AspNetCore.Components.Web.ErrorEventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1291890632, + "Kind": "Components.EventHandler", + "Name": "onactivate", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onactivate", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onactivate:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onactivate:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onactivate", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onactivate" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onactivate' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onactivate' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 354404712, + "Kind": "Components.EventHandler", + "Name": "onbeforeactivate", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onbeforeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforeactivate", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforeactivate:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforeactivate:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onbeforeactivate", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onbeforeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onbeforeactivate" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforeactivate' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onbeforeactivate' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1433936565, + "Kind": "Components.EventHandler", + "Name": "onbeforedeactivate", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onbeforedeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforedeactivate", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforedeactivate:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onbeforedeactivate:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onbeforedeactivate", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onbeforedeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onbeforedeactivate" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforedeactivate' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onbeforedeactivate' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1517450220, + "Kind": "Components.EventHandler", + "Name": "ondeactivate", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ondeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondeactivate", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondeactivate:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ondeactivate:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ondeactivate", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ondeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ondeactivate" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondeactivate' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ondeactivate' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 633462008, + "Kind": "Components.EventHandler", + "Name": "onended", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onended' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onended", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onended:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onended:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onended", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onended' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onended" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onended' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onended' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 2032015040, + "Kind": "Components.EventHandler", + "Name": "onfullscreenchange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onfullscreenchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfullscreenchange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfullscreenchange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfullscreenchange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onfullscreenchange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onfullscreenchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onfullscreenchange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfullscreenchange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onfullscreenchange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1203425973, + "Kind": "Components.EventHandler", + "Name": "onfullscreenerror", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onfullscreenerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfullscreenerror", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfullscreenerror:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onfullscreenerror:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onfullscreenerror", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onfullscreenerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onfullscreenerror" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfullscreenerror' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onfullscreenerror' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1731966787, + "Kind": "Components.EventHandler", + "Name": "onloadeddata", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onloadeddata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadeddata", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadeddata:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadeddata:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onloadeddata", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onloadeddata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onloadeddata" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadeddata' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onloadeddata' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1948568782, + "Kind": "Components.EventHandler", + "Name": "onloadedmetadata", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onloadedmetadata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadedmetadata", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadedmetadata:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onloadedmetadata:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onloadedmetadata", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onloadedmetadata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onloadedmetadata" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadedmetadata' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onloadedmetadata' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1143381722, + "Kind": "Components.EventHandler", + "Name": "onpointerlockchange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerlockchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerlockchange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerlockchange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerlockchange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerlockchange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerlockchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerlockchange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerlockchange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerlockchange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 1985851911, + "Kind": "Components.EventHandler", + "Name": "onpointerlockerror", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onpointerlockerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerlockerror", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerlockerror:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onpointerlockerror:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onpointerlockerror", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onpointerlockerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onpointerlockerror" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerlockerror' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onpointerlockerror' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -344527142, + "Kind": "Components.EventHandler", + "Name": "onreadystatechange", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onreadystatechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onreadystatechange", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onreadystatechange:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onreadystatechange:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onreadystatechange", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onreadystatechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onreadystatechange" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onreadystatechange' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onreadystatechange' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 2110345384, + "Kind": "Components.EventHandler", + "Name": "onscroll", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@onscroll' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onscroll", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onscroll:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@onscroll:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@onscroll", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@onscroll' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "onscroll" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@onscroll' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@onscroll' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": 866757796, + "Kind": "Components.EventHandler", + "Name": "ontoggle", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Sets the '@ontoggle' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontoggle", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontoggle:preventDefault", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + }, + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ontoggle:stopPropagation", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.EventHandler", + "Name": "@ontoggle", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Sets the '@ontoggle' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.", + "Metadata": { + "Components.IsWeaklyTyped": "True", + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "ontoggle" + }, + "BoundAttributeParameters": [ + { + "Name": "preventDefault", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontoggle' event.", + "Metadata": { + "Common.PropertyName": "PreventDefault" + } + }, + { + "Name": "stopPropagation", + "TypeName": "System.Boolean", + "Documentation": "Specifies whether to prevent further propagation of the '@ontoggle' event in the capturing and bubbling phases.", + "Metadata": { + "Common.PropertyName": "StopPropagation" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.EventHandler", + "Components.EventHandler.EventArgs": "System.EventArgs", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.EventHandlers" + } + }, + { + "HashCode": -1116698551, + "Kind": "Components.Splat", + "Name": "Attributes", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Merges a collection of attributes into the current element or component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@attributes", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Splat", + "Name": "@attributes", + "TypeName": "System.Object", + "Documentation": "Merges a collection of attributes into the current element or component.", + "Metadata": { + "Common.PropertyName": "Attributes", + "Common.DirectiveAttribute": "True" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Splat", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Attributes" + } + }, + { + "HashCode": 1342982883, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to an attribute and a change event, based on the naming of the bind attribute. For example: @bind-value=\"...\" and @bind-value:event=\"onchange\" will assign the current value of the expression to the 'value' attribute, and assign a delegate that attempts to set the value to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@bind-", + "NameComparison": 1, + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-...", + "TypeName": "System.Collections.Generic.Dictionary", + "IndexerNamePrefix": "@bind-", + "IndexerTypeName": "System.Object", + "Documentation": "Binds the provided expression to an attribute and a change event, based on the naming of the bind attribute. For example: @bind-value=\"...\" and @bind-value:event=\"onchange\" will assign the current value of the expression to the 'value' attribute, and assign a delegate that attempts to set the value to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the corresponding bind attribute. For example: @bind-value:format=\"...\" will apply a format string to the value specified in @bind-value=\"...\". The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind-...' attribute.", + "Metadata": { + "Common.PropertyName": "Event" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.Fallback": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Bind" + } + }, + { + "HashCode": 1481998772, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "False", + "Components.Bind.Format": null, + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 444899064, + "Kind": "Components.Bind", + "Name": "Bind_value", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "@bind-value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-value", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind_value" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "False", + "Components.Bind.Format": null, + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 506983085, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'checked' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "checkbox", + "ValueComparison": 1 + }, + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'checked' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_checked" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_checked" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-checked", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_checked" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "checked", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "False", + "Components.Bind.Format": null, + "Components.Bind.TypeAttribute": "checkbox", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": -219719262, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "text", + "ValueComparison": 1 + }, + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "False", + "Components.Bind.Format": null, + "Components.Bind.TypeAttribute": "text", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 1994487301, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "number", + "ValueComparison": 1 + }, + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": null, + "Components.Bind.TypeAttribute": "number", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": -226349803, + "Kind": "Components.Bind", + "Name": "Bind_value", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "number", + "ValueComparison": 1 + }, + { + "Name": "@bind-value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-value", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind_value" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": null, + "Components.Bind.TypeAttribute": "number", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": -349833075, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "date", + "ValueComparison": 1 + }, + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "yyyy-MM-dd", + "Components.Bind.TypeAttribute": "date", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": -1602553187, + "Kind": "Components.Bind", + "Name": "Bind_value", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "date", + "ValueComparison": 1 + }, + { + "Name": "@bind-value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-value", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind_value" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "yyyy-MM-dd", + "Components.Bind.TypeAttribute": "date", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 238661904, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "datetime-local", + "ValueComparison": 1 + }, + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "yyyy-MM-ddTHH:mm:ss", + "Components.Bind.TypeAttribute": "datetime-local", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 1679369416, + "Kind": "Components.Bind", + "Name": "Bind_value", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "datetime-local", + "ValueComparison": 1 + }, + { + "Name": "@bind-value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-value", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind_value" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "yyyy-MM-ddTHH:mm:ss", + "Components.Bind.TypeAttribute": "datetime-local", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": -1912367096, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "month", + "ValueComparison": 1 + }, + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "yyyy-MM", + "Components.Bind.TypeAttribute": "month", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": -81843560, + "Kind": "Components.Bind", + "Name": "Bind_value", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "month", + "ValueComparison": 1 + }, + { + "Name": "@bind-value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-value", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind_value" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "yyyy-MM", + "Components.Bind.TypeAttribute": "month", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 1902823656, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "time", + "ValueComparison": 1 + }, + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "HH:mm:ss", + "Components.Bind.TypeAttribute": "time", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": -1205705653, + "Kind": "Components.Bind", + "Name": "Bind_value", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "input", + "Attributes": [ + { + "Name": "type", + "Value": "time", + "ValueComparison": 1 + }, + { + "Name": "@bind-value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-value", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind_value" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "True", + "Components.Bind.Format": "HH:mm:ss", + "Components.Bind.TypeAttribute": "time", + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 278562130, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "select", + "Attributes": [ + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "False", + "Components.Bind.Format": null, + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 2030290980, + "Kind": "Components.Bind", + "Name": "Bind", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "textarea", + "Attributes": [ + { + "Name": "@bind", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind", + "TypeName": "System.Object", + "Documentation": "Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Bind" + }, + "BoundAttributeParameters": [ + { + "Name": "format", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + }, + { + "Name": "event", + "TypeName": "System.String", + "Documentation": "Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.", + "Metadata": { + "Common.PropertyName": "Event_value" + } + }, + { + "Name": "culture", + "TypeName": "System.Globalization.CultureInfo", + "Documentation": "Specifies the culture to use for conversions.", + "Metadata": { + "Common.PropertyName": "Culture" + } + } + ] + }, + { + "Kind": "Components.Bind", + "Name": "format-value", + "TypeName": "System.String", + "Documentation": "Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.", + "Metadata": { + "Common.PropertyName": "Format_value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Common.ClassifyAttributesOnly": "True", + "Components.Bind.ValueAttribute": "value", + "Components.Bind.ChangeAttribute": "onchange", + "Components.Bind.IsInvariantCulture": "False", + "Components.Bind.Format": null, + "Common.TypeName": "Microsoft.AspNetCore.Components.Web.BindAttributes" + } + }, + { + "HashCode": 593305807, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputCheckbox", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox" + } + }, + { + "HashCode": -1041878231, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1137993135, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputDate", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputDate" + } + }, + { + "HashCode": -693628417, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputDate", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputDate", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -463022414, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputNumber", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputNumber" + } + }, + { + "HashCode": -720035566, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputNumber", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -1499876891, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputRadioGroup", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup" + } + }, + { + "HashCode": 1671540668, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 370967916, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputSelect", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect" + } + }, + { + "HashCode": 985944796, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputSelect", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": -196190459, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputText", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputText", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputText" + } + }, + { + "HashCode": -1252323604, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputText", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputText", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputText", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1528786479, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "InputTextArea", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputTextArea" + } + }, + { + "HashCode": -1591753541, + "Kind": "Components.Bind", + "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", + "AssemblyName": "Microsoft.AspNetCore.Components.Web", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "Microsoft.AspNetCore.Components.Forms.InputTextArea", + "Attributes": [ + { + "Name": "@bind-Value", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Bind", + "Name": "@bind-Value", + "TypeName": "Microsoft.AspNetCore.Components.EventCallback", + "Documentation": "Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.", + "Metadata": { + "Common.DirectiveAttribute": "True", + "Common.PropertyName": "Value" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Bind", + "Components.Bind.ValueAttribute": "Value", + "Components.Bind.ChangeAttribute": "ValueChanged", + "Components.Bind.ExpressionAttribute": "ValueExpression", + "Common.TypeName": "Microsoft.AspNetCore.Components.Forms.InputTextArea", + "Components.NameMatch": "Components.FullyQualifiedNameMatch" + } + }, + { + "HashCode": 1591914509, + "Kind": "Components.Ref", + "Name": "Ref", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Populates the specified field or property with a reference to the element or component.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@ref", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Ref", + "Name": "@ref", + "TypeName": "System.Object", + "Documentation": "Populates the specified field or property with a reference to the element or component.", + "Metadata": { + "Common.PropertyName": "Ref", + "Common.DirectiveAttribute": "True" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Ref", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Ref" + } + }, + { + "HashCode": 1296320563, + "Kind": "Components.Key", + "Name": "Key", + "AssemblyName": "Microsoft.AspNetCore.Components", + "Documentation": "Ensures that the component or element will be preserved across renders if (and only if) the supplied key value matches.", + "CaseSensitive": true, + "TagMatchingRules": [ + { + "TagName": "*", + "Attributes": [ + { + "Name": "@key", + "Metadata": { + "Common.DirectiveAttribute": "True" + } + } + ] + } + ], + "BoundAttributes": [ + { + "Kind": "Components.Key", + "Name": "@key", + "TypeName": "System.Object", + "Documentation": "Ensures that the component or element will be preserved across renders if (and only if) the supplied key value matches.", + "Metadata": { + "Common.PropertyName": "Key", + "Common.DirectiveAttribute": "True" + } + } + ], + "Metadata": { + "Runtime.Name": "Components.None", + "Components.IsSpecialKind": "Components.Key", + "Common.ClassifyAttributesOnly": "True", + "Common.TypeName": "Microsoft.AspNetCore.Components.Key" + } + } + ], + "CSharpLanguageVersion": 900 + }, + "RootNamespace": "spanreed.Client", + "Documents": [ + { + "FilePath": "/home/skins/projects/spanreed/Client/Pages/MessageComponent.razor", + "TargetPath": "Pages\\MessageComponent.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/App.razor", + "TargetPath": "App.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/Shared/MainLayout.razor", + "TargetPath": "Shared\\MainLayout.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/Pages/FetchData.razor", + "TargetPath": "Pages\\FetchData.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor", + "TargetPath": "Shared\\NavMenu.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/Pages/Room.razor", + "TargetPath": "Pages\\Room.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/Shared/SurveyPrompt.razor", + "TargetPath": "Shared\\SurveyPrompt.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/Pages/Index.razor", + "TargetPath": "Pages\\Index.razor", + "FileKind": "component" + }, + { + "FilePath": "/home/skins/projects/spanreed/Client/_Imports.razor", + "TargetPath": "_Imports.razor", + "FileKind": "componentImport" + } + ], + "SerializationFormat": "0.2" +} \ No newline at end of file diff --git a/Client/obj/Debug/net5.0/scopedcss/Shared/MainLayout.razor.rz.scp.css b/Client/obj/Debug/net5.0/scopedcss/Shared/MainLayout.razor.rz.scp.css new file mode 100644 index 0000000..7311392 --- /dev/null +++ b/Client/obj/Debug/net5.0/scopedcss/Shared/MainLayout.razor.rz.scp.css @@ -0,0 +1,70 @@ +.page[b-t3ecffniqe] { + position: relative; + display: flex; + flex-direction: column; +} + +.main[b-t3ecffniqe] { + flex: 1; +} + +.sidebar[b-t3ecffniqe] { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row[b-t3ecffniqe] { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + + .top-row[b-t3ecffniqe] a, .top-row .btn-link[b-t3ecffniqe] { + white-space: nowrap; + margin-left: 1.5rem; + } + + .top-row a:first-child[b-t3ecffniqe] { + overflow: hidden; + text-overflow: ellipsis; + } + +@media (max-width: 640.98px) { + .top-row:not(.auth)[b-t3ecffniqe] { + display: none; + } + + .top-row.auth[b-t3ecffniqe] { + justify-content: space-between; + } + + .top-row a[b-t3ecffniqe], .top-row .btn-link[b-t3ecffniqe] { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page[b-t3ecffniqe] { + flex-direction: row; + } + + .sidebar[b-t3ecffniqe] { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row[b-t3ecffniqe] { + position: sticky; + top: 0; + z-index: 1; + } + + .main > div[b-t3ecffniqe] { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} diff --git a/Client/obj/Debug/net5.0/scopedcss/Shared/NavMenu.razor.rz.scp.css b/Client/obj/Debug/net5.0/scopedcss/Shared/NavMenu.razor.rz.scp.css new file mode 100644 index 0000000..cd279e5 --- /dev/null +++ b/Client/obj/Debug/net5.0/scopedcss/Shared/NavMenu.razor.rz.scp.css @@ -0,0 +1,62 @@ +.navbar-toggler[b-9ym6xv191f] { + background-color: rgba(255, 255, 255, 0.1); +} + +.top-row[b-9ym6xv191f] { + height: 3.5rem; + background-color: rgba(0,0,0,0.4); +} + +.navbar-brand[b-9ym6xv191f] { + font-size: 1.1rem; +} + +.oi[b-9ym6xv191f] { + width: 2rem; + font-size: 1.1rem; + vertical-align: text-top; + top: -2px; +} + +.nav-item[b-9ym6xv191f] { + font-size: 0.9rem; + padding-bottom: 0.5rem; +} + + .nav-item:first-of-type[b-9ym6xv191f] { + padding-top: 1rem; + } + + .nav-item:last-of-type[b-9ym6xv191f] { + padding-bottom: 1rem; + } + + .nav-item[b-9ym6xv191f] a { + color: #d7d7d7; + border-radius: 4px; + height: 3rem; + display: flex; + align-items: center; + line-height: 3rem; + } + +.nav-item[b-9ym6xv191f] a.active { + background-color: rgba(255,255,255,0.25); + color: white; +} + +.nav-item[b-9ym6xv191f] a:hover { + background-color: rgba(255,255,255,0.1); + color: white; +} + +@media (min-width: 641px) { + .navbar-toggler[b-9ym6xv191f] { + display: none; + } + + .collapse[b-9ym6xv191f] { + /* Never collapse the sidebar for wide screens */ + display: block; + } +} diff --git a/Client/obj/Debug/net5.0/scopedcss/bundle/spanreed.Client.styles.css b/Client/obj/Debug/net5.0/scopedcss/bundle/spanreed.Client.styles.css new file mode 100644 index 0000000..5ad2f99 --- /dev/null +++ b/Client/obj/Debug/net5.0/scopedcss/bundle/spanreed.Client.styles.css @@ -0,0 +1,134 @@ +/* /Shared/MainLayout.razor.rz.scp.css */ +.page[b-t3ecffniqe] { + position: relative; + display: flex; + flex-direction: column; +} + +.main[b-t3ecffniqe] { + flex: 1; +} + +.sidebar[b-t3ecffniqe] { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row[b-t3ecffniqe] { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + + .top-row[b-t3ecffniqe] a, .top-row .btn-link[b-t3ecffniqe] { + white-space: nowrap; + margin-left: 1.5rem; + } + + .top-row a:first-child[b-t3ecffniqe] { + overflow: hidden; + text-overflow: ellipsis; + } + +@media (max-width: 640.98px) { + .top-row:not(.auth)[b-t3ecffniqe] { + display: none; + } + + .top-row.auth[b-t3ecffniqe] { + justify-content: space-between; + } + + .top-row a[b-t3ecffniqe], .top-row .btn-link[b-t3ecffniqe] { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page[b-t3ecffniqe] { + flex-direction: row; + } + + .sidebar[b-t3ecffniqe] { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row[b-t3ecffniqe] { + position: sticky; + top: 0; + z-index: 1; + } + + .main > div[b-t3ecffniqe] { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} +/* /Shared/NavMenu.razor.rz.scp.css */ +.navbar-toggler[b-9ym6xv191f] { + background-color: rgba(255, 255, 255, 0.1); +} + +.top-row[b-9ym6xv191f] { + height: 3.5rem; + background-color: rgba(0,0,0,0.4); +} + +.navbar-brand[b-9ym6xv191f] { + font-size: 1.1rem; +} + +.oi[b-9ym6xv191f] { + width: 2rem; + font-size: 1.1rem; + vertical-align: text-top; + top: -2px; +} + +.nav-item[b-9ym6xv191f] { + font-size: 0.9rem; + padding-bottom: 0.5rem; +} + + .nav-item:first-of-type[b-9ym6xv191f] { + padding-top: 1rem; + } + + .nav-item:last-of-type[b-9ym6xv191f] { + padding-bottom: 1rem; + } + + .nav-item[b-9ym6xv191f] a { + color: #d7d7d7; + border-radius: 4px; + height: 3rem; + display: flex; + align-items: center; + line-height: 3rem; + } + +.nav-item[b-9ym6xv191f] a.active { + background-color: rgba(255,255,255,0.25); + color: white; +} + +.nav-item[b-9ym6xv191f] a:hover { + background-color: rgba(255,255,255,0.1); + color: white; +} + +@media (min-width: 641px) { + .navbar-toggler[b-9ym6xv191f] { + display: none; + } + + .collapse[b-9ym6xv191f] { + /* Never collapse the sidebar for wide screens */ + display: block; + } +} diff --git a/Client/obj/Debug/net5.0/scopedcss/projectbundle/spanreed.Client.bundle.scp.css b/Client/obj/Debug/net5.0/scopedcss/projectbundle/spanreed.Client.bundle.scp.css new file mode 100644 index 0000000..da8d337 --- /dev/null +++ b/Client/obj/Debug/net5.0/scopedcss/projectbundle/spanreed.Client.bundle.scp.css @@ -0,0 +1,136 @@ +@import ''; + +/* /Shared/MainLayout.razor.rz.scp.css */ +.page[b-t3ecffniqe] { + position: relative; + display: flex; + flex-direction: column; +} + +.main[b-t3ecffniqe] { + flex: 1; +} + +.sidebar[b-t3ecffniqe] { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row[b-t3ecffniqe] { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + + .top-row[b-t3ecffniqe] a, .top-row .btn-link[b-t3ecffniqe] { + white-space: nowrap; + margin-left: 1.5rem; + } + + .top-row a:first-child[b-t3ecffniqe] { + overflow: hidden; + text-overflow: ellipsis; + } + +@media (max-width: 640.98px) { + .top-row:not(.auth)[b-t3ecffniqe] { + display: none; + } + + .top-row.auth[b-t3ecffniqe] { + justify-content: space-between; + } + + .top-row a[b-t3ecffniqe], .top-row .btn-link[b-t3ecffniqe] { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page[b-t3ecffniqe] { + flex-direction: row; + } + + .sidebar[b-t3ecffniqe] { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row[b-t3ecffniqe] { + position: sticky; + top: 0; + z-index: 1; + } + + .main > div[b-t3ecffniqe] { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} +/* /Shared/NavMenu.razor.rz.scp.css */ +.navbar-toggler[b-9ym6xv191f] { + background-color: rgba(255, 255, 255, 0.1); +} + +.top-row[b-9ym6xv191f] { + height: 3.5rem; + background-color: rgba(0,0,0,0.4); +} + +.navbar-brand[b-9ym6xv191f] { + font-size: 1.1rem; +} + +.oi[b-9ym6xv191f] { + width: 2rem; + font-size: 1.1rem; + vertical-align: text-top; + top: -2px; +} + +.nav-item[b-9ym6xv191f] { + font-size: 0.9rem; + padding-bottom: 0.5rem; +} + + .nav-item:first-of-type[b-9ym6xv191f] { + padding-top: 1rem; + } + + .nav-item:last-of-type[b-9ym6xv191f] { + padding-bottom: 1rem; + } + + .nav-item[b-9ym6xv191f] a { + color: #d7d7d7; + border-radius: 4px; + height: 3rem; + display: flex; + align-items: center; + line-height: 3rem; + } + +.nav-item[b-9ym6xv191f] a.active { + background-color: rgba(255,255,255,0.25); + color: white; +} + +.nav-item[b-9ym6xv191f] a:hover { + background-color: rgba(255,255,255,0.1); + color: white; +} + +@media (min-width: 641px) { + .navbar-toggler[b-9ym6xv191f] { + display: none; + } + + .collapse[b-9ym6xv191f] { + /* Never collapse the sidebar for wide screens */ + display: block; + } +} diff --git a/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfo.cs b/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfo.cs new file mode 100644 index 0000000..6378222 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("spanreed.Client")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("spanreed.Client")] +[assembly: System.Reflection.AssemblyTitleAttribute("spanreed.Client")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfoInputs.cache b/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfoInputs.cache new file mode 100644 index 0000000..0510379 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +6fd2cd41c9a133c3afb1a9b3432b2f41dc7a23f2 diff --git a/Client/obj/Debug/net5.0/spanreed.Client.GeneratedMSBuildEditorConfig.editorconfig b/Client/obj/Debug/net5.0/spanreed.Client.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..431abc6 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,8 @@ +is_global = true +build_property.TargetFramework = net5.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.PublishSingleFile = +build_property.IncludeAllContentForSelfExtract = +build_property._SupportedPlatformList = browser diff --git a/Client/obj/Debug/net5.0/spanreed.Client.MvcApplicationPartsAssemblyInfo.cache b/Client/obj/Debug/net5.0/spanreed.Client.MvcApplicationPartsAssemblyInfo.cache new file mode 100644 index 0000000..e69de29 diff --git a/Client/obj/Debug/net5.0/spanreed.Client.RazorComponent.input.cache b/Client/obj/Debug/net5.0/spanreed.Client.RazorComponent.input.cache new file mode 100644 index 0000000..20b2867 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.RazorComponent.input.cache @@ -0,0 +1 @@ +039221b125b2140b6cf9fbc6a6389676a1e645aa diff --git a/Client/obj/Debug/net5.0/spanreed.Client.RazorComponent.output.cache b/Client/obj/Debug/net5.0/spanreed.Client.RazorComponent.output.cache new file mode 100644 index 0000000..e69de29 diff --git a/Client/obj/Debug/net5.0/spanreed.Client.RazorCoreGenerate.cache b/Client/obj/Debug/net5.0/spanreed.Client.RazorCoreGenerate.cache new file mode 100644 index 0000000..20b2867 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.RazorCoreGenerate.cache @@ -0,0 +1 @@ +039221b125b2140b6cf9fbc6a6389676a1e645aa diff --git a/Client/obj/Debug/net5.0/spanreed.Client.RazorTargetAssemblyInfo.cache b/Client/obj/Debug/net5.0/spanreed.Client.RazorTargetAssemblyInfo.cache new file mode 100644 index 0000000..bc61f43 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.RazorTargetAssemblyInfo.cache @@ -0,0 +1 @@ +82d1d15ed444cbbac92ed9582d9a94250f78ddff diff --git a/Client/obj/Debug/net5.0/spanreed.Client.TagHelpers.input.cache b/Client/obj/Debug/net5.0/spanreed.Client.TagHelpers.input.cache new file mode 100644 index 0000000..e69de29 diff --git a/Client/obj/Debug/net5.0/spanreed.Client.TagHelpers.output.cache b/Client/obj/Debug/net5.0/spanreed.Client.TagHelpers.output.cache new file mode 100644 index 0000000..6ac3fb0 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.TagHelpers.output.cache @@ -0,0 +1 @@ +[{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.CascadingValue","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"CascadingValue"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.CascadingValue component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Name","TypeName":"System.String","Metadata":{"Common.PropertyName":"Name"}},{"Kind":"Components.Component","Name":"IsFixed","TypeName":"System.Boolean","Metadata":{"Common.PropertyName":"IsFixed"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.CascadingValue","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.CascadingValue","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.CascadingValue"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.CascadingValue component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Name","TypeName":"System.String","Metadata":{"Common.PropertyName":"Name"}},{"Kind":"Components.Component","Name":"IsFixed","TypeName":"System.Boolean","Metadata":{"Common.PropertyName":"IsFixed"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.CascadingValue","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.CascadingValue.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"CascadingValue"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.CascadingValue.ChildContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.CascadingValue.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Microsoft.AspNetCore.Components.CascadingValue"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.CascadingValue.ChildContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.LayoutView","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"LayoutView"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Layout","TypeName":"System.Type","Metadata":{"Common.PropertyName":"Layout"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.LayoutView"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.LayoutView","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.LayoutView"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Layout","TypeName":"System.Type","Metadata":{"Common.PropertyName":"Layout"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.LayoutView","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.LayoutView.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"LayoutView"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.LayoutView.ChildContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.LayoutView.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Microsoft.AspNetCore.Components.LayoutView"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.LayoutView.ChildContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.RouteView","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"RouteView"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"RouteData","TypeName":"Microsoft.AspNetCore.Components.RouteData","Metadata":{"Common.PropertyName":"RouteData"}},{"Kind":"Components.Component","Name":"DefaultLayout","TypeName":"System.Type","Metadata":{"Common.PropertyName":"DefaultLayout"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.RouteView"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.RouteView","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.RouteView"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"RouteData","TypeName":"Microsoft.AspNetCore.Components.RouteData","Metadata":{"Common.PropertyName":"RouteData"}},{"Kind":"Components.Component","Name":"DefaultLayout","TypeName":"System.Type","Metadata":{"Common.PropertyName":"DefaultLayout"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.RouteView","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Routing.Router","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Router"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AppAssembly","TypeName":"System.Reflection.Assembly","Metadata":{"Common.PropertyName":"AppAssembly"}},{"Kind":"Components.Component","Name":"AdditionalAssemblies","TypeName":"System.Collections.Generic.IEnumerable","Metadata":{"Common.PropertyName":"AdditionalAssemblies"}},{"Kind":"Components.Component","Name":"NotFound","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"NotFound","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Found","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Found","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Navigating","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Navigating","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"OnNavigateAsync","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnNavigateAsync","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"PreferExactMatches","TypeName":"System.Boolean","Metadata":{"Common.PropertyName":"PreferExactMatches"}},{"Kind":"Components.Component","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for all child content expressions.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Routing.Router","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Routing.Router"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AppAssembly","TypeName":"System.Reflection.Assembly","Metadata":{"Common.PropertyName":"AppAssembly"}},{"Kind":"Components.Component","Name":"AdditionalAssemblies","TypeName":"System.Collections.Generic.IEnumerable","Metadata":{"Common.PropertyName":"AdditionalAssemblies"}},{"Kind":"Components.Component","Name":"NotFound","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"NotFound","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Found","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Found","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Navigating","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Navigating","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"OnNavigateAsync","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnNavigateAsync","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"PreferExactMatches","TypeName":"System.Boolean","Metadata":{"Common.PropertyName":"PreferExactMatches"}},{"Kind":"Components.Component","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for all child content expressions.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.Router.NotFound","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"NotFound","ParentTag":"Router"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router.NotFound","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.Router.NotFound","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"NotFound","ParentTag":"Microsoft.AspNetCore.Components.Routing.Router"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router.NotFound","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.Router.Found","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Found","ParentTag":"Router"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'Found' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router.Found","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.Router.Found","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Found","ParentTag":"Microsoft.AspNetCore.Components.Routing.Router"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'Found' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router.Found","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.Router.Navigating","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Navigating","ParentTag":"Router"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router.Navigating","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.Router.Navigating","AssemblyName":"Microsoft.AspNetCore.Components","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Navigating","ParentTag":"Microsoft.AspNetCore.Components.Routing.Router"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.Router.Navigating","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator","AssemblyName":"Microsoft.AspNetCore.Components.Forms","CaseSensitive":true,"TagMatchingRules":[{"TagName":"DataAnnotationsValidator"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator","AssemblyName":"Microsoft.AspNetCore.Components.Forms","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.EditForm","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"EditForm"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"EditContext","TypeName":"Microsoft.AspNetCore.Components.Forms.EditContext","Metadata":{"Common.PropertyName":"EditContext"}},{"Kind":"Components.Component","Name":"Model","TypeName":"System.Object","Metadata":{"Common.PropertyName":"Model"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"OnSubmit","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnSubmit","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"OnValidSubmit","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnValidSubmit","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"OnInvalidSubmit","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnInvalidSubmit","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for all child content expressions.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.EditForm"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.EditForm","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.EditForm"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"EditContext","TypeName":"Microsoft.AspNetCore.Components.Forms.EditContext","Metadata":{"Common.PropertyName":"EditContext"}},{"Kind":"Components.Component","Name":"Model","TypeName":"System.Object","Metadata":{"Common.PropertyName":"Model"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"OnSubmit","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnSubmit","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"OnValidSubmit","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnValidSubmit","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"OnInvalidSubmit","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnInvalidSubmit","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for all child content expressions.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.EditForm","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"EditForm"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'ChildContent' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Microsoft.AspNetCore.Components.Forms.EditForm"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'ChildContent' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputCheckbox","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputCheckbox"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"System.Boolean","Metadata":{"Common.PropertyName":"Value"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputCheckbox"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputCheckbox","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputCheckbox"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"System.Boolean","Metadata":{"Common.PropertyName":"Value"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputCheckbox","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputDate","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputDate"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputDate component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ParsingErrorMessage","TypeName":"System.String","Metadata":{"Common.PropertyName":"ParsingErrorMessage"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputDate","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputDate","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputDate"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputDate component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ParsingErrorMessage","TypeName":"System.String","Metadata":{"Common.PropertyName":"ParsingErrorMessage"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputDate","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputFile","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputFile"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"OnChange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnChange","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputFile"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputFile","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputFile"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"OnChange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"OnChange","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputFile","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputNumber","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputNumber"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputNumber component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ParsingErrorMessage","TypeName":"System.String","Metadata":{"Common.PropertyName":"ParsingErrorMessage"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputNumber","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputNumber","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputNumber"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputNumber component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ParsingErrorMessage","TypeName":"System.String","Metadata":{"Common.PropertyName":"ParsingErrorMessage"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputNumber","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputRadio","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputRadio"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadio component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Name","TypeName":"System.String","Metadata":{"Common.PropertyName":"Name"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadio","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputRadio","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputRadio"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadio component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Name","TypeName":"System.String","Metadata":{"Common.PropertyName":"Name"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadio","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputRadioGroup"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadioGroup component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Name","TypeName":"System.String","Metadata":{"Common.PropertyName":"Name"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputRadioGroup component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Name","TypeName":"System.String","Metadata":{"Common.PropertyName":"Name"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"InputRadioGroup"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputSelect","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputSelect"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputSelect component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputSelect","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputSelect","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputSelect"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.InputSelect component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"TValue","Metadata":{"Common.PropertyName":"Value","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputSelect","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"InputSelect"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Microsoft.AspNetCore.Components.Forms.InputSelect"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputText","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputText"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"System.String","Metadata":{"Common.PropertyName":"Value"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputText"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputText","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputText"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"System.String","Metadata":{"Common.PropertyName":"Value"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputText","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputTextArea","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputTextArea"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"System.String","Metadata":{"Common.PropertyName":"Value"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputTextArea"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.InputTextArea","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputTextArea"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"Value","TypeName":"System.String","Metadata":{"Common.PropertyName":"Value"}},{"Kind":"Components.Component","Name":"ValueChanged","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Metadata":{"Common.PropertyName":"ValueChanged","Components.EventCallback":"True"}},{"Kind":"Components.Component","Name":"ValueExpression","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"ValueExpression"}},{"Kind":"Components.Component","Name":"DisplayName","TypeName":"System.String","Metadata":{"Common.PropertyName":"DisplayName"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputTextArea","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.ValidationMessage","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ValidationMessage"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.ValidationMessage component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"For","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"For","Components.GenericTyped":"True"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.ValidationMessage","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.ValidationMessage","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.ValidationMessage"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TValue","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TValue for the Microsoft.AspNetCore.Components.Forms.ValidationMessage component.","Metadata":{"Common.PropertyName":"TValue","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"For","TypeName":"System.Linq.Expressions.Expression>","Metadata":{"Common.PropertyName":"For","Components.GenericTyped":"True"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.ValidationMessage","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.ValidationSummary","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ValidationSummary"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"Model","TypeName":"System.Object","Metadata":{"Common.PropertyName":"Model"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.ValidationSummary"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Forms.ValidationSummary","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.ValidationSummary"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"Model","TypeName":"System.Object","Metadata":{"Common.PropertyName":"Model"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.ValidationSummary","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Routing.NavLink","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"NavLink"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"ActiveClass","TypeName":"System.String","Metadata":{"Common.PropertyName":"ActiveClass"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Match","TypeName":"Microsoft.AspNetCore.Components.Routing.NavLinkMatch","IsEnum":true,"Metadata":{"Common.PropertyName":"Match"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.NavLink"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Routing.NavLink","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Routing.NavLink"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"ActiveClass","TypeName":"System.String","Metadata":{"Common.PropertyName":"ActiveClass"}},{"Kind":"Components.Component","Name":"AdditionalAttributes","TypeName":"System.Collections.Generic.IReadOnlyDictionary","Metadata":{"Common.PropertyName":"AdditionalAttributes"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"Match","TypeName":"Microsoft.AspNetCore.Components.Routing.NavLinkMatch","IsEnum":true,"Metadata":{"Common.PropertyName":"Match"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.NavLink","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"NavLink"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Microsoft.AspNetCore.Components.Routing.NavLink"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Virtualize"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TItem","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TItem for the Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize component.","Metadata":{"Common.PropertyName":"TItem","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ItemContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ItemContent","Components.ChildContent":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Placeholder","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Placeholder","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"ItemSize","TypeName":"System.Single","Metadata":{"Common.PropertyName":"ItemSize"}},{"Kind":"Components.Component","Name":"ItemsProvider","TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderDelegate","Metadata":{"Common.PropertyName":"ItemsProvider","Components.DelegateSignature":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Items","TypeName":"System.Collections.Generic.ICollection","Metadata":{"Common.PropertyName":"Items","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"OverscanCount","TypeName":"System.Int32","Metadata":{"Common.PropertyName":"OverscanCount"}},{"Kind":"Components.Component","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for all child content expressions.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"TItem","TypeName":"System.Type","Documentation":"Specifies the type of the type parameter TItem for the Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize component.","Metadata":{"Common.PropertyName":"TItem","Components.TypeParameter":"True"}},{"Kind":"Components.Component","Name":"ChildContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ChildContent","Components.ChildContent":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"ItemContent","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"ItemContent","Components.ChildContent":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Placeholder","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Placeholder","Components.ChildContent":"True"}},{"Kind":"Components.Component","Name":"ItemSize","TypeName":"System.Single","Metadata":{"Common.PropertyName":"ItemSize"}},{"Kind":"Components.Component","Name":"ItemsProvider","TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderDelegate","Metadata":{"Common.PropertyName":"ItemsProvider","Components.DelegateSignature":"True","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"Items","TypeName":"System.Collections.Generic.ICollection","Metadata":{"Common.PropertyName":"Items","Components.GenericTyped":"True"}},{"Kind":"Components.Component","Name":"OverscanCount","TypeName":"System.Int32","Metadata":{"Common.PropertyName":"OverscanCount"}},{"Kind":"Components.Component","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for all child content expressions.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize","Components.GenericTyped":"True","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Virtualize"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'ChildContent' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ChildContent","ParentTag":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'ChildContent' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ItemContent","ParentTag":"Virtualize"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'ItemContent' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"ItemContent","ParentTag":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'ItemContent' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Placeholder","ParentTag":"Virtualize"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'Placeholder' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder","AssemblyName":"Microsoft.AspNetCore.Components.Web","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Placeholder","ParentTag":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize"}],"BoundAttributes":[{"Kind":"Components.ChildContent","Name":"Context","TypeName":"System.String","Documentation":"Specifies the parameter name for the 'Placeholder' child content expression.","Metadata":{"Components.ChildContentParameterName":"True","Common.PropertyName":"Context"}}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.App","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"App"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.App"}},{"Kind":"Components.Component","Name":"spanreed.Client.App","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.App"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.App","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.FetchData","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"FetchData"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.FetchData"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.FetchData","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.Pages.FetchData"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.FetchData","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.Index","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Index"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.Index"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.Index","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.Pages.Index"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.Index","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.MessageComponent","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"MessageComponent"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"timestamp","TypeName":"System.DateTime","Metadata":{"Common.PropertyName":"timestamp"}},{"Kind":"Components.Component","Name":"author","TypeName":"System.String","Metadata":{"Common.PropertyName":"author"}},{"Kind":"Components.Component","Name":"content","TypeName":"System.String","Metadata":{"Common.PropertyName":"content"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.MessageComponent"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.MessageComponent","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.Pages.MessageComponent"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"timestamp","TypeName":"System.DateTime","Metadata":{"Common.PropertyName":"timestamp"}},{"Kind":"Components.Component","Name":"author","TypeName":"System.String","Metadata":{"Common.PropertyName":"author"}},{"Kind":"Components.Component","Name":"content","TypeName":"System.String","Metadata":{"Common.PropertyName":"content"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.MessageComponent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.Room","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Room"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"room","TypeName":"System.String","Metadata":{"Common.PropertyName":"room"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.Room"}},{"Kind":"Components.Component","Name":"spanreed.Client.Pages.Room","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.Pages.Room"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"room","TypeName":"System.String","Metadata":{"Common.PropertyName":"room"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Pages.Room","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.Shared.SurveyPrompt","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"SurveyPrompt"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"Title","TypeName":"System.String","Metadata":{"Common.PropertyName":"Title"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Shared.SurveyPrompt"}},{"Kind":"Components.Component","Name":"spanreed.Client.Shared.SurveyPrompt","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.Shared.SurveyPrompt"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"Title","TypeName":"System.String","Metadata":{"Common.PropertyName":"Title"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Shared.SurveyPrompt","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.Shared.MainLayout","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"MainLayout"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"Body","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Body","Components.ChildContent":"True"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Shared.MainLayout"}},{"Kind":"Components.Component","Name":"spanreed.Client.Shared.MainLayout","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.Shared.MainLayout"}],"BoundAttributes":[{"Kind":"Components.Component","Name":"Body","TypeName":"Microsoft.AspNetCore.Components.RenderFragment","Metadata":{"Common.PropertyName":"Body","Components.ChildContent":"True"}}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Shared.MainLayout","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.ChildContent","Name":"spanreed.Client.Shared.MainLayout.Body","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Body","ParentTag":"MainLayout"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"spanreed.Client.Shared.MainLayout.Body","Components.IsSpecialKind":"Components.ChildContent"}},{"Kind":"Components.ChildContent","Name":"spanreed.Client.Shared.MainLayout.Body","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Body","ParentTag":"spanreed.Client.Shared.MainLayout"}],"Metadata":{"Runtime.Name":"Components.None","Common.TypeName":"spanreed.Client.Shared.MainLayout.Body","Components.IsSpecialKind":"Components.ChildContent","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Component","Name":"spanreed.Client.Shared.NavMenu","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"NavMenu"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Shared.NavMenu"}},{"Kind":"Components.Component","Name":"spanreed.Client.Shared.NavMenu","AssemblyName":"spanreed.Client","CaseSensitive":true,"TagMatchingRules":[{"TagName":"spanreed.Client.Shared.NavMenu"}],"Metadata":{"Runtime.Name":"Components.IComponent","Common.TypeName":"spanreed.Client.Shared.NavMenu","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.EventHandler","Name":"onfocus","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onfocus' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onfocus","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfocus:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfocus:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onfocus","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onfocus' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onfocus"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfocus' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onfocus' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.FocusEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onblur","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onblur' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onblur","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onblur:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onblur:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onblur","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onblur' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onblur"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onblur' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onblur' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.FocusEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onfocusin","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onfocusin' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onfocusin","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfocusin:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfocusin:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onfocusin","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onfocusin' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onfocusin"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfocusin' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onfocusin' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.FocusEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onfocusout","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onfocusout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onfocusout","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfocusout:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfocusout:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onfocusout","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onfocusout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.FocusEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onfocusout"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfocusout' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onfocusout' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.FocusEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onmouseover","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onmouseover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onmouseover","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmouseover:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmouseover:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onmouseover","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onmouseover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onmouseover"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmouseover' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onmouseover' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onmouseout","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onmouseout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onmouseout","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmouseout:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmouseout:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onmouseout","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onmouseout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onmouseout"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmouseout' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onmouseout' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onmousemove","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onmousemove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onmousemove","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmousemove:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmousemove:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onmousemove","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onmousemove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onmousemove"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmousemove' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onmousemove' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onmousedown","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onmousedown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onmousedown","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmousedown:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmousedown:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onmousedown","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onmousedown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onmousedown"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmousedown' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onmousedown' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onmouseup","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onmouseup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onmouseup","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmouseup:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmouseup:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onmouseup","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onmouseup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onmouseup"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmouseup' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onmouseup' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onclick","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onclick","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onclick:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onclick:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onclick","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onclick"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onclick' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onclick' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondblclick","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondblclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondblclick","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondblclick:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondblclick:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondblclick","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondblclick' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondblclick"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondblclick' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondblclick' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onwheel","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onwheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onwheel","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onwheel:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onwheel:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onwheel","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onwheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onwheel"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onwheel' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onwheel' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.WheelEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onmousewheel","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onmousewheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onmousewheel","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmousewheel:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onmousewheel:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onmousewheel","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onmousewheel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.WheelEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onmousewheel"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onmousewheel' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onmousewheel' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.WheelEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oncontextmenu","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oncontextmenu' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oncontextmenu","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncontextmenu:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncontextmenu:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oncontextmenu","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oncontextmenu' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.MouseEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oncontextmenu"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncontextmenu' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oncontextmenu' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.MouseEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondrag","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondrag' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondrag","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondrag:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondrag:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondrag","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondrag' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondrag"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondrag' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondrag' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.DragEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondragend","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondragend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondragend","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragend:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragend:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondragend","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondragend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondragend"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragend' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondragend' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.DragEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondragenter","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondragenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondragenter","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragenter:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragenter:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondragenter","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondragenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondragenter"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragenter' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondragenter' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.DragEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondragleave","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondragleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondragleave","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragleave:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragleave:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondragleave","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondragleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondragleave"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragleave' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondragleave' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.DragEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondragover","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondragover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondragover","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragover:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragover:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondragover","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondragover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondragover"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragover' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondragover' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.DragEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondragstart","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondragstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondragstart","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragstart:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondragstart:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondragstart","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondragstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondragstart"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondragstart' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondragstart' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.DragEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondrop","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondrop' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondrop","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondrop:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondrop:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondrop","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondrop' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.DragEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondrop"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondrop' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondrop' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.DragEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onkeydown","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onkeydown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onkeydown","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onkeydown:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onkeydown:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onkeydown","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onkeydown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onkeydown"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onkeydown' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onkeydown' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.KeyboardEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onkeyup","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onkeyup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onkeyup","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onkeyup:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onkeyup:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onkeyup","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onkeyup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onkeyup"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onkeyup' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onkeyup' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.KeyboardEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onkeypress","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onkeypress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onkeypress","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onkeypress:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onkeypress:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onkeypress","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onkeypress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.KeyboardEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onkeypress"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onkeypress' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onkeypress' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.KeyboardEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onchange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onchange' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onchange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onchange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onchange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onchange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onchange' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onchange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onchange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onchange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.ChangeEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oninput","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oninput' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oninput","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oninput:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oninput:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oninput","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oninput' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.ChangeEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oninput"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oninput' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oninput' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.ChangeEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oninvalid","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oninvalid' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oninvalid","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oninvalid:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oninvalid:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oninvalid","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oninvalid' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oninvalid"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oninvalid' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oninvalid' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onreset","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onreset' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onreset","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onreset:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onreset:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onreset","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onreset' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onreset"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onreset' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onreset' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onselect","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onselect' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onselect","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onselect:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onselect:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onselect","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onselect' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onselect"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onselect' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onselect' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onselectstart","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onselectstart' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onselectstart","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onselectstart:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onselectstart:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onselectstart","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onselectstart' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onselectstart"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onselectstart' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onselectstart' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onselectionchange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onselectionchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onselectionchange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onselectionchange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onselectionchange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onselectionchange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onselectionchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onselectionchange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onselectionchange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onselectionchange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onsubmit","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onsubmit' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onsubmit","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onsubmit:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onsubmit:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onsubmit","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onsubmit' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onsubmit"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onsubmit' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onsubmit' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onbeforecopy","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onbeforecopy' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onbeforecopy","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforecopy:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforecopy:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onbeforecopy","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onbeforecopy' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onbeforecopy"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforecopy' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onbeforecopy' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onbeforecut","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onbeforecut' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onbeforecut","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforecut:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforecut:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onbeforecut","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onbeforecut' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onbeforecut"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforecut' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onbeforecut' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onbeforepaste","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onbeforepaste' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onbeforepaste","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforepaste:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforepaste:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onbeforepaste","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onbeforepaste' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onbeforepaste"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforepaste' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onbeforepaste' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oncopy","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oncopy' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oncopy","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncopy:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncopy:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oncopy","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oncopy' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oncopy"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncopy' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oncopy' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ClipboardEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oncut","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oncut' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oncut","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncut:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncut:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oncut","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oncut' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oncut"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncut' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oncut' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ClipboardEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpaste","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpaste' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpaste","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpaste:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpaste:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpaste","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpaste' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ClipboardEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpaste"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpaste' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpaste' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ClipboardEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontouchcancel","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontouchcancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontouchcancel","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchcancel:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchcancel:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontouchcancel","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontouchcancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontouchcancel"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchcancel' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontouchcancel' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.TouchEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontouchend","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontouchend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontouchend","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchend:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchend:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontouchend","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontouchend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontouchend"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchend' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontouchend' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.TouchEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontouchmove","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontouchmove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontouchmove","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchmove:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchmove:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontouchmove","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontouchmove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontouchmove"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchmove' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontouchmove' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.TouchEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontouchstart","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontouchstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontouchstart","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchstart:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchstart:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontouchstart","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontouchstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontouchstart"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchstart' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontouchstart' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.TouchEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontouchenter","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontouchenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontouchenter","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchenter:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchenter:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontouchenter","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontouchenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontouchenter"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchenter' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontouchenter' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.TouchEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontouchleave","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontouchleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontouchleave","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchleave:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontouchleave:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontouchleave","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontouchleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.TouchEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontouchleave"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontouchleave' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontouchleave' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.TouchEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ongotpointercapture","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ongotpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ongotpointercapture","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ongotpointercapture:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ongotpointercapture:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ongotpointercapture","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ongotpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ongotpointercapture"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ongotpointercapture' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ongotpointercapture' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onlostpointercapture","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onlostpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onlostpointercapture","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onlostpointercapture:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onlostpointercapture:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onlostpointercapture","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onlostpointercapture' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onlostpointercapture"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onlostpointercapture' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onlostpointercapture' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointercancel","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointercancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointercancel","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointercancel:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointercancel:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointercancel","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointercancel' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointercancel"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointercancel' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointercancel' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerdown","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerdown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerdown","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerdown:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerdown:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerdown","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerdown' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerdown"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerdown' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerdown' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerenter","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerenter","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerenter:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerenter:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerenter","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerenter' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerenter"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerenter' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerenter' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerleave","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerleave","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerleave:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerleave:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerleave","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerleave' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerleave"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerleave' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerleave' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointermove","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointermove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointermove","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointermove:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointermove:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointermove","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointermove' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointermove"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointermove' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointermove' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerout","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerout","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerout:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerout:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerout","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerout"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerout' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerout' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerover","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerover","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerover:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerover:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerover","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerover' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerover"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerover' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerover' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerup","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerup","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerup:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerup:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerup","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerup' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.PointerEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerup"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerup' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerup' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.PointerEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oncanplay","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oncanplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oncanplay","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncanplay:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncanplay:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oncanplay","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oncanplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oncanplay"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncanplay' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oncanplay' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oncanplaythrough","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oncanplaythrough' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oncanplaythrough","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncanplaythrough:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncanplaythrough:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oncanplaythrough","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oncanplaythrough' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oncanplaythrough"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncanplaythrough' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oncanplaythrough' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"oncuechange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@oncuechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@oncuechange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncuechange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@oncuechange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@oncuechange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@oncuechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"oncuechange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@oncuechange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@oncuechange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondurationchange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondurationchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondurationchange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondurationchange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondurationchange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondurationchange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondurationchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondurationchange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondurationchange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondurationchange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onemptied","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onemptied' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onemptied","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onemptied:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onemptied:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onemptied","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onemptied' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onemptied"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onemptied' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onemptied' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpause","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpause' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpause","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpause:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpause:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpause","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpause' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpause"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpause' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpause' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onplay","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onplay","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onplay:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onplay:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onplay","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onplay' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onplay"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onplay' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onplay' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onplaying","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onplaying' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onplaying","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onplaying:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onplaying:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onplaying","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onplaying' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onplaying"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onplaying' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onplaying' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onratechange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onratechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onratechange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onratechange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onratechange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onratechange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onratechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onratechange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onratechange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onratechange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onseeked","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onseeked' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onseeked","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onseeked:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onseeked:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onseeked","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onseeked' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onseeked"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onseeked' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onseeked' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onseeking","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onseeking' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onseeking","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onseeking:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onseeking:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onseeking","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onseeking' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onseeking"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onseeking' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onseeking' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onstalled","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onstalled' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onstalled","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onstalled:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onstalled:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onstalled","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onstalled' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onstalled"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onstalled' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onstalled' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onstop","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onstop' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onstop","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onstop:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onstop:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onstop","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onstop' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onstop"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onstop' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onstop' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onsuspend","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onsuspend' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onsuspend","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onsuspend:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onsuspend:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onsuspend","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onsuspend' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onsuspend"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onsuspend' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onsuspend' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontimeupdate","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontimeupdate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontimeupdate","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontimeupdate:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontimeupdate:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontimeupdate","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontimeupdate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontimeupdate"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontimeupdate' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontimeupdate' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onvolumechange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onvolumechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onvolumechange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onvolumechange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onvolumechange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onvolumechange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onvolumechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onvolumechange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onvolumechange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onvolumechange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onwaiting","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onwaiting' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onwaiting","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onwaiting:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onwaiting:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onwaiting","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onwaiting' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onwaiting"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onwaiting' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onwaiting' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onloadstart","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onloadstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onloadstart","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadstart:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadstart:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onloadstart","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onloadstart' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onloadstart"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadstart' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onloadstart' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ProgressEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontimeout","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontimeout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontimeout","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontimeout:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontimeout:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontimeout","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontimeout' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontimeout"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontimeout' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontimeout' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ProgressEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onabort","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onabort' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onabort","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onabort:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onabort:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onabort","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onabort' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onabort"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onabort' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onabort' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ProgressEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onload","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onload' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onload","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onload:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onload:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onload","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onload' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onload"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onload' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onload' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ProgressEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onloadend","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onloadend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onloadend","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadend:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadend:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onloadend","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onloadend' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onloadend"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadend' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onloadend' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ProgressEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onprogress","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onprogress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onprogress","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onprogress:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onprogress:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onprogress","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onprogress' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ProgressEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onprogress"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onprogress' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onprogress' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ProgressEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onerror","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onerror' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ErrorEventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onerror","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onerror:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onerror:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onerror","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onerror' attribute to the provided string or delegate value. A delegate value should be of type 'Microsoft.AspNetCore.Components.Web.ErrorEventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onerror"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onerror' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onerror' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"Microsoft.AspNetCore.Components.Web.ErrorEventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onactivate","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onactivate","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onactivate:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onactivate:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onactivate","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onactivate"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onactivate' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onactivate' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onbeforeactivate","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onbeforeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onbeforeactivate","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforeactivate:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforeactivate:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onbeforeactivate","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onbeforeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onbeforeactivate"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforeactivate' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onbeforeactivate' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onbeforedeactivate","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onbeforedeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onbeforedeactivate","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforedeactivate:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onbeforedeactivate:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onbeforedeactivate","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onbeforedeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onbeforedeactivate"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onbeforedeactivate' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onbeforedeactivate' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ondeactivate","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ondeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ondeactivate","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondeactivate:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ondeactivate:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ondeactivate","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ondeactivate' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ondeactivate"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ondeactivate' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ondeactivate' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onended","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onended' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onended","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onended:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onended:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onended","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onended' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onended"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onended' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onended' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onfullscreenchange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onfullscreenchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onfullscreenchange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfullscreenchange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfullscreenchange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onfullscreenchange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onfullscreenchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onfullscreenchange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfullscreenchange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onfullscreenchange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onfullscreenerror","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onfullscreenerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onfullscreenerror","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfullscreenerror:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onfullscreenerror:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onfullscreenerror","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onfullscreenerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onfullscreenerror"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onfullscreenerror' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onfullscreenerror' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onloadeddata","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onloadeddata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onloadeddata","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadeddata:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadeddata:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onloadeddata","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onloadeddata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onloadeddata"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadeddata' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onloadeddata' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onloadedmetadata","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onloadedmetadata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onloadedmetadata","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadedmetadata:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onloadedmetadata:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onloadedmetadata","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onloadedmetadata' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onloadedmetadata"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onloadedmetadata' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onloadedmetadata' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerlockchange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerlockchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerlockchange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerlockchange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerlockchange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerlockchange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerlockchange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerlockchange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerlockchange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerlockchange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onpointerlockerror","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onpointerlockerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onpointerlockerror","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerlockerror:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onpointerlockerror:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onpointerlockerror","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onpointerlockerror' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onpointerlockerror"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onpointerlockerror' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onpointerlockerror' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onreadystatechange","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onreadystatechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onreadystatechange","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onreadystatechange:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onreadystatechange:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onreadystatechange","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onreadystatechange' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onreadystatechange"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onreadystatechange' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onreadystatechange' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"onscroll","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@onscroll' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@onscroll","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onscroll:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@onscroll:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@onscroll","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@onscroll' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"onscroll"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@onscroll' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@onscroll' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.EventHandler","Name":"ontoggle","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Sets the '@ontoggle' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ontoggle","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontoggle:preventDefault","Metadata":{"Common.DirectiveAttribute":"True"}}]},{"TagName":"*","Attributes":[{"Name":"@ontoggle:stopPropagation","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.EventHandler","Name":"@ontoggle","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Sets the '@ontoggle' attribute to the provided string or delegate value. A delegate value should be of type 'System.EventArgs'.","Metadata":{"Components.IsWeaklyTyped":"True","Common.DirectiveAttribute":"True","Common.PropertyName":"ontoggle"},"BoundAttributeParameters":[{"Name":"preventDefault","TypeName":"System.Boolean","Documentation":"Specifies whether to cancel (if cancelable) the default action that belongs to the '@ontoggle' event.","Metadata":{"Common.PropertyName":"PreventDefault"}},{"Name":"stopPropagation","TypeName":"System.Boolean","Documentation":"Specifies whether to prevent further propagation of the '@ontoggle' event in the capturing and bubbling phases.","Metadata":{"Common.PropertyName":"StopPropagation"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.EventHandler","Components.EventHandler.EventArgs":"System.EventArgs","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Web.EventHandlers"}},{"Kind":"Components.Splat","Name":"Attributes","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Merges a collection of attributes into the current element or component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@attributes","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Splat","Name":"@attributes","TypeName":"System.Object","Documentation":"Merges a collection of attributes into the current element or component.","Metadata":{"Common.PropertyName":"Attributes","Common.DirectiveAttribute":"True"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Splat","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Attributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to an attribute and a change event, based on the naming of the bind attribute. For example: @bind-value=\"...\" and @bind-value:event=\"onchange\" will assign the current value of the expression to the 'value' attribute, and assign a delegate that attempts to set the value to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@bind-","NameComparison":1,"Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-...","TypeName":"System.Collections.Generic.Dictionary","IndexerNamePrefix":"@bind-","IndexerTypeName":"System.Object","Documentation":"Binds the provided expression to an attribute and a change event, based on the naming of the bind attribute. For example: @bind-value=\"...\" and @bind-value:event=\"onchange\" will assign the current value of the expression to the 'value' attribute, and assign a delegate that attempts to set the value to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the corresponding bind attribute. For example: @bind-value:format=\"...\" will apply a format string to the value specified in @bind-value=\"...\". The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind-...' attribute.","Metadata":{"Common.PropertyName":"Event"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.Fallback":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Bind"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"False","Components.Bind.Format":null,"Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind_value","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"@bind-value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-value","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind_value"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"False","Components.Bind.Format":null,"Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'checked' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"checkbox","ValueComparison":1},{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'checked' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_checked"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_checked"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-checked","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_checked"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"checked","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"False","Components.Bind.Format":null,"Components.Bind.TypeAttribute":"checkbox","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"text","ValueComparison":1},{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"False","Components.Bind.Format":null,"Components.Bind.TypeAttribute":"text","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"number","ValueComparison":1},{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":null,"Components.Bind.TypeAttribute":"number","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind_value","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"number","ValueComparison":1},{"Name":"@bind-value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-value","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind_value"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":null,"Components.Bind.TypeAttribute":"number","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"date","ValueComparison":1},{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"yyyy-MM-dd","Components.Bind.TypeAttribute":"date","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind_value","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"date","ValueComparison":1},{"Name":"@bind-value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-value","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind_value"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"yyyy-MM-dd","Components.Bind.TypeAttribute":"date","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"datetime-local","ValueComparison":1},{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"yyyy-MM-ddTHH:mm:ss","Components.Bind.TypeAttribute":"datetime-local","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind_value","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"datetime-local","ValueComparison":1},{"Name":"@bind-value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-value","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind_value"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"yyyy-MM-ddTHH:mm:ss","Components.Bind.TypeAttribute":"datetime-local","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"month","ValueComparison":1},{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"yyyy-MM","Components.Bind.TypeAttribute":"month","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind_value","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"month","ValueComparison":1},{"Name":"@bind-value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-value","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind_value"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"yyyy-MM","Components.Bind.TypeAttribute":"month","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"time","ValueComparison":1},{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"HH:mm:ss","Components.Bind.TypeAttribute":"time","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind_value","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"input","Attributes":[{"Name":"type","Value":"time","ValueComparison":1},{"Name":"@bind-value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-value","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind_value"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind-value' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind-value' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"True","Components.Bind.Format":"HH:mm:ss","Components.Bind.TypeAttribute":"time","Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"select","Attributes":[{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"False","Components.Bind.Format":null,"Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Bind","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"textarea","Attributes":[{"Name":"@bind","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind","TypeName":"System.Object","Documentation":"Binds the provided expression to the 'value' attribute and a change event delegate to the 'onchange' attribute.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Bind"},"BoundAttributeParameters":[{"Name":"format","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}},{"Name":"event","TypeName":"System.String","Documentation":"Specifies the event handler name to attach for change notifications for the value provided by the '@bind' attribute.","Metadata":{"Common.PropertyName":"Event_value"}},{"Name":"culture","TypeName":"System.Globalization.CultureInfo","Documentation":"Specifies the culture to use for conversions.","Metadata":{"Common.PropertyName":"Culture"}}]},{"Kind":"Components.Bind","Name":"format-value","TypeName":"System.String","Documentation":"Specifies a format to convert the value specified by the '@bind' attribute. The format string can currently only be used with expressions of type DateTime.","Metadata":{"Common.PropertyName":"Format_value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Common.ClassifyAttributesOnly":"True","Components.Bind.ValueAttribute":"value","Components.Bind.ChangeAttribute":"onchange","Components.Bind.IsInvariantCulture":"False","Components.Bind.Format":null,"Common.TypeName":"Microsoft.AspNetCore.Components.Web.BindAttributes"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputCheckbox","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputCheckbox","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputCheckbox"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputCheckbox","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputCheckbox","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputCheckbox","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputDate","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputDate","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputDate"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputDate","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputDate","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputDate","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputNumber","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputNumber","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputNumber"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputNumber","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputNumber","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputNumber","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputRadioGroup","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputRadioGroup","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputSelect","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputSelect","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputSelect"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputSelect","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputSelect","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputSelect","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputText","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputText","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputText"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputText","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputText","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputText","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputTextArea","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"InputTextArea","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputTextArea"}},{"Kind":"Components.Bind","Name":"Microsoft.AspNetCore.Components.Forms.InputTextArea","AssemblyName":"Microsoft.AspNetCore.Components.Web","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"Microsoft.AspNetCore.Components.Forms.InputTextArea","Attributes":[{"Name":"@bind-Value","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Bind","Name":"@bind-Value","TypeName":"Microsoft.AspNetCore.Components.EventCallback","Documentation":"Binds the provided expression to the 'Value' property and a change event delegate to the 'ValueChanged' property of the component.","Metadata":{"Common.DirectiveAttribute":"True","Common.PropertyName":"Value"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Bind","Components.Bind.ValueAttribute":"Value","Components.Bind.ChangeAttribute":"ValueChanged","Components.Bind.ExpressionAttribute":"ValueExpression","Common.TypeName":"Microsoft.AspNetCore.Components.Forms.InputTextArea","Components.NameMatch":"Components.FullyQualifiedNameMatch"}},{"Kind":"Components.Ref","Name":"Ref","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Populates the specified field or property with a reference to the element or component.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@ref","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Ref","Name":"@ref","TypeName":"System.Object","Documentation":"Populates the specified field or property with a reference to the element or component.","Metadata":{"Common.PropertyName":"Ref","Common.DirectiveAttribute":"True"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Ref","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Ref"}},{"Kind":"Components.Key","Name":"Key","AssemblyName":"Microsoft.AspNetCore.Components","Documentation":"Ensures that the component or element will be preserved across renders if (and only if) the supplied key value matches.","CaseSensitive":true,"TagMatchingRules":[{"TagName":"*","Attributes":[{"Name":"@key","Metadata":{"Common.DirectiveAttribute":"True"}}]}],"BoundAttributes":[{"Kind":"Components.Key","Name":"@key","TypeName":"System.Object","Documentation":"Ensures that the component or element will be preserved across renders if (and only if) the supplied key value matches.","Metadata":{"Common.PropertyName":"Key","Common.DirectiveAttribute":"True"}}],"Metadata":{"Runtime.Name":"Components.None","Components.IsSpecialKind":"Components.Key","Common.ClassifyAttributesOnly":"True","Common.TypeName":"Microsoft.AspNetCore.Components.Key"}}] \ No newline at end of file diff --git a/Client/obj/Debug/net5.0/spanreed.Client.assets.cache b/Client/obj/Debug/net5.0/spanreed.Client.assets.cache new file mode 100644 index 0000000..b1f5f96 Binary files /dev/null and b/Client/obj/Debug/net5.0/spanreed.Client.assets.cache differ diff --git a/Client/obj/Debug/net5.0/spanreed.Client.csproj.AssemblyReference.cache b/Client/obj/Debug/net5.0/spanreed.Client.csproj.AssemblyReference.cache new file mode 100644 index 0000000..f5e894a Binary files /dev/null and b/Client/obj/Debug/net5.0/spanreed.Client.csproj.AssemblyReference.cache differ diff --git a/Client/obj/Debug/net5.0/spanreed.Client.csproj.CopyComplete b/Client/obj/Debug/net5.0/spanreed.Client.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Client/obj/Debug/net5.0/spanreed.Client.csproj.CoreCompileInputs.cache b/Client/obj/Debug/net5.0/spanreed.Client.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..6a80eac --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +870302dd4cae108311c672f251086f9737e537b1 diff --git a/Client/obj/Debug/net5.0/spanreed.Client.csproj.FileListAbsolute.txt b/Client/obj/Debug/net5.0/spanreed.Client.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..c8b2f02 --- /dev/null +++ b/Client/obj/Debug/net5.0/spanreed.Client.csproj.FileListAbsolute.txt @@ -0,0 +1,662 @@ +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.csproj.AssemblyReference.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.GeneratedMSBuildEditorConfig.editorconfig +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfoInputs.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.AssemblyInfo.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.csproj.CoreCompileInputs.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.MvcApplicationPartsAssemblyInfo.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.RazorComponent.input.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/App.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/Pages/FetchData.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Index.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/Shared/SurveyPrompt.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/_Imports.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/Shared/MainLayout.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/Shared/NavMenu.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.RazorComponent.output.cache +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.boot.json +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/spanreed.Client.StaticWebAssets.xml +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/spanreed.Client.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/ref/spanreed.Client.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/spanreed.Client.pdb +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Client.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Client.pdb +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/blazor.webassembly.js +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Connections.Abstractions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Http.Connections.Client.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Http.Connections.Common.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Http.Features.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Client.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Client.Core.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Common.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Protocols.Json.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Options.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.JSInterop.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Pipelines.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.CSharp.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.VisualBasic.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Win32.Registry.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.AppContext.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Buffers.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.Concurrent.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.Immutable.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.NonGeneric.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.Specialized.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.Annotations.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Configuration.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Console.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Core.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Data.Common.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Data.DataSetExtensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Data.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Contracts.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Debug.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Process.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Tools.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Tracing.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Drawing.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Drawing.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Dynamic.Runtime.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Formats.Asn1.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Globalization.Calendars.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Globalization.Extensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Globalization.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.Brotli.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.IsolatedStorage.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Pipes.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.Expressions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.Parallel.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.Queryable.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Memory.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Http.Json.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Http.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.HttpListener.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Mail.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.NameResolution.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.NetworkInformation.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Ping.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Requests.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Security.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.ServicePoint.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Sockets.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebClient.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebProxy.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebSockets.Client.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebSockets.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Numerics.Vectors.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Numerics.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ObjectModel.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.DataContractSerialization.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Uri.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Xml.Linq.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Xml.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Emit.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Extensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Metadata.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Resources.Reader.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Resources.ResourceManager.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Resources.Writer.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Extensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Handles.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.InteropServices.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Intrinsics.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Loader.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Numerics.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.AccessControl.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Claims.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Principal.Windows.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Principal.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.SecureString.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ServiceModel.Web.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ServiceProcess.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encoding.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encodings.Web.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Json.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.RegularExpressions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Channels.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Overlapped.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Thread.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.ThreadPool.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Timer.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Transactions.Local.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Transactions.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ValueTuple.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Web.HttpUtility.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Web.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Windows.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.Linq.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.ReaderWriter.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.Serialization.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XDocument.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XPath.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XmlDocument.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XmlSerializer.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/WindowsBase.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/mscorlib.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/netstandard.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.CoreLib.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.timezones.blat.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.wasm.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt.dat.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_CJK.dat.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_EFIGS.dat.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_no_CJK.dat.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.5.0.8.js.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Shared.dll.gz +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Authorization.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Forms.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Connections.Abstractions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Http.Connections.Client.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Http.Connections.Common.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Http.Features.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.Metadata.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Client.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Client.Core.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Common.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.AspNetCore.SignalR.Protocols.Json.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Binder.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.FileExtensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Abstractions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.FileProviders.Physical.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.FileSystemGlobbing.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Logging.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Options.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Extensions.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.JSInterop.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Pipelines.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.CSharp.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.VisualBasic.Core.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.VisualBasic.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Win32.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/Microsoft.Win32.Registry.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.AppContext.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Buffers.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.Concurrent.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.Immutable.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.NonGeneric.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.Specialized.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Collections.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.Annotations.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.DataAnnotations.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.EventBasedAsync.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.TypeConverter.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ComponentModel.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Configuration.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Console.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Core.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Data.Common.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Data.DataSetExtensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Data.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Contracts.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Debug.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.DiagnosticSource.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.FileVersionInfo.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Process.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.StackTrace.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.TextWriterTraceListener.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Tools.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.TraceSource.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Diagnostics.Tracing.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Drawing.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Drawing.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Dynamic.Runtime.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Formats.Asn1.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Globalization.Calendars.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Globalization.Extensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Globalization.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.Brotli.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.FileSystem.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.ZipFile.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Compression.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.AccessControl.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.DriveInfo.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.Watcher.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.FileSystem.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.IsolatedStorage.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.MemoryMappedFiles.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Pipes.AccessControl.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.Pipes.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.UnmanagedMemoryStream.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.IO.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.Expressions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.Parallel.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.Queryable.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Linq.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Memory.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Http.Json.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Http.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.HttpListener.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Mail.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.NameResolution.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.NetworkInformation.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Ping.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Requests.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Security.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.ServicePoint.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.Sockets.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebClient.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebHeaderCollection.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebProxy.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebSockets.Client.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.WebSockets.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Net.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Numerics.Vectors.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Numerics.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ObjectModel.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.DataContractSerialization.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Runtime.InteropServices.JavaScript.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Uri.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Xml.Linq.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.Xml.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.DispatchProxy.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Emit.ILGeneration.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Emit.Lightweight.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Emit.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Extensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Metadata.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.TypeExtensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Reflection.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Resources.Reader.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Resources.ResourceManager.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Resources.Writer.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.CompilerServices.Unsafe.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.CompilerServices.VisualC.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Extensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Handles.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.InteropServices.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Intrinsics.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Loader.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Numerics.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Formatters.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Json.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.Xml.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.Serialization.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Runtime.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.AccessControl.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Claims.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Algorithms.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Cng.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Csp.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Encoding.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.OpenSsl.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.Primitives.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Cryptography.X509Certificates.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Principal.Windows.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.Principal.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.SecureString.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Security.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ServiceModel.Web.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ServiceProcess.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encoding.CodePages.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encoding.Extensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encoding.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Encodings.Web.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.Json.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Text.RegularExpressions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Channels.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Overlapped.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.Dataflow.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.Extensions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.Parallel.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Tasks.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Thread.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.ThreadPool.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.Timer.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Threading.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Transactions.Local.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Transactions.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.ValueTuple.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Web.HttpUtility.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Web.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Windows.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.Linq.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.ReaderWriter.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.Serialization.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XDocument.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XPath.XDocument.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XPath.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XmlDocument.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.XmlSerializer.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Xml.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/WindowsBase.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/mscorlib.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/netstandard.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/System.Private.CoreLib.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.timezones.blat +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.wasm +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt.dat +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_CJK.dat +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_EFIGS.dat +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/icudt_no_CJK.dat +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/dotnet.5.0.8.js +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Shared.dll +/home/skins/projects/spanreed/Client/bin/Debug/net5.0/wwwroot/_framework/spanreed.Shared.pdb +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/spanreed.Client.dll +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.TagHelpers.input.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.TagHelpers.output.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.RazorCoreGenerate.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/App.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/Pages/FetchData.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/Pages/Index.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/Shared/SurveyPrompt.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/_Imports.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/Shared/MainLayout.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/Shared/NavMenu.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/GRGNNcwB.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/a2sH7NYc.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/2XD10jq9.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/+ctx5gvM.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/9m+4d1BZ.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/B90OXKxq.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/j+kHaIML.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/l9OB0ZRg.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/WX+wAb+f.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/7K7oay2Z.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/QUQ4+8OF.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/z1OiBx8A.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/dLdzcsdA.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/naG34Y2A.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/psN8B2Iv.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/47VxjC5Q.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/D3qwpy+H.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/mGKsHs4n.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/258a+NUr.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4RqglUKA.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/GM306aN8.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/S+EiikcU.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/IJcAIaUH.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/GXwfWhip.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8+i1zs+w.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/PH18AHAX.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/2xi9fCFO.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/woYbzJEg.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Sx4FlG0w.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4ltnlx2g.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/lMNTuaZ5.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/31SkmUkM.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/KZs1aUSG.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/+PlqDaE4.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/MWX6rfDV.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/neRvV55N.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/LsGkfTIy.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/XHYjqVIa.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/5qWna+wR.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/PTLSUwr2.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/jDbWtzQf.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/cUTFlAfM.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/zATOHL2k.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4oeNq6Fj.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/F5Oi8+gv.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/KCS6PgJn.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4i2v5+Jt.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ostMCKRb.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/+pmiSWW+.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/2OvildCr.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/giZtf0ki.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/idT9kfu6.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/f0jWSNw2.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Gkdkhibh.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/YezMWdJ9.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/wgYZ4nUv.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8v+HcSgC.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/3Exmz84y.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/nfDK9C16.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/CMXtLFPI.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Ypfm+92c.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/zp+V+sbw.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/yzXy+JXI.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Fh5Xm9oI.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/erDPakde.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/WRkwaJFp.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/M8gdAF65.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/nSqgLzAI.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/LaKLj1RG.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/QIcqiHt8.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/YKMN4VAv.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/xWfNLrfL.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Yeac36wx.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ggAOZLSo.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/oRbC4bLI.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/vOurdEa2.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/K8R4pSlc.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/yyTQWKY0.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/OjTzvn0U.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/XSX4Cipw.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Ml07dcOL.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Mv41JCnp.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/gQX5SWAC.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/IzsdmfTH.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/t1osKZPl.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/I9ZNfbEM.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/zYiOgJQj.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/vHtqhNMC.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/zfaiiuoW.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ToJSouWL.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/jkB2Y5+N.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/82H6MWu4.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/chizwZsM.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ykSVDm6t.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Scw4W2JJ.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/pugYVB7e.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/e+MeJVTy.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/cAdptoWV.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/+SswE+HY.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/AeywrUaB.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/l56GJj72.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/uHjmIBzE.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/lVIUaS+z.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ugs6ZJ6I.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/xsUbmCW+.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/iRAYV+wy.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/FbLVxSz+.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/AGmvXw+p.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/AQHxtz60.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/CVhudsSh.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/LyOMhnDW.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8XpBG0Dr.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ffuhccAq.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/YZXCP5xW.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/BfkoGHrh.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/V11plftD.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/X1I1y0Ow.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/IBWXnrQ+.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/MA6bLajP.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/D2+zHAcO.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/RR06mvks.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/QzdgDFTd.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/5dJjpvsm.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/7FDGqKYP.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/7qwzIoRZ.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/PkZFfv1x.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/fMMF6DEl.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/vbpWcbJb.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/OM1219hg.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/9U3pTb6x.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/SD464imB.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8FOg3DqP.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4yTx0LRq.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8dSLWnbv.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/wpZ6DIC1.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/wnk5FHXE.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/7FTcbVt4.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/A+j27Qn4.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/LCqzmO+f.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/QnDLtwqA.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4l2Ba+X4.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ABLuvKXJ.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/PpWNSYi3.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/FvTfYf97.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Sva+bG4k.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/z71qBI5X.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/0jH8G2BW.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/W80KcvX2.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/3sjYgUT5.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/9uDFaz0j.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/TTVEa3yK.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/EIoBUF7H.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/x7ixyH4z.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/jL+yTrDI.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/kHlze150.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/iTpaOKBz.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/QqqRfPTM.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/nUrWZ5Zp.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/3+d9qfLI.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/S+17xxIV.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/h07usJhb.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/rS+PyG82.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/+2RGC6On.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8IPiWDnG.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/uK+mhZp4.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/esq9vTn9.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ruJ3pRVW.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/tTtF1Cg9.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8QFln5+l.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/tg8pAv1L.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/ocKTZ0Nc.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4dssJENR.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/v+IxXYdj.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/p155sAJX.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/cLFeUapW.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/k7rPcCWu.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/WLZQ2n6i.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/LbLL5xAC.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/SDurIyVo.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Fh5wqJt+.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/KM5s+Lx+.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/xFvgdFqB.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/NdxdmBLl.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/mYo2YFFB.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/QO6ta+DN.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/MLXuYNCB.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/SAmhevps.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/8Xmt0UPD.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/VXxCXE8i.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/T6z2Bup9.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/9FSbg+ds.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/Do5ublkh.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/fIwRGKUO.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/0LtmpLnB.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/doWZ3qEj.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/45YYuDSg.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/zpkHAIP9.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/0cI0fOlZ.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/4CTdpHcg.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/y04JKWPH.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/22+ADd19.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/mmTZ8pgz.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/oFaPAk17.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/build-gz/OoGDpPLg.gz +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.Manifest.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.xml +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/scopedcss/Shared/MainLayout.razor.rz.scp.css +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/scopedcss/Shared/NavMenu.razor.rz.scp.css +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/scopedcss/bundle/spanreed.Client.styles.css +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/scopedcss/projectbundle/spanreed.Client.bundle.scp.css +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.RazorTargetAssemblyInfo.cache +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.csproj.CopyComplete +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.dll +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/ref/spanreed.Client.dll +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/spanreed.Client.pdb +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/Pages/MessageComponent.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/Pages/MessageComponent.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/RazorDeclaration/Pages/Room.razor.g.cs +/home/skins/projects/spanreed/Client/obj/Debug/net5.0/Razor/Pages/Room.razor.g.cs diff --git a/Client/obj/Debug/net5.0/spanreed.Client.pdb b/Client/obj/Debug/net5.0/spanreed.Client.pdb new file mode 100644 index 0000000..cec2748 Binary files /dev/null and b/Client/obj/Debug/net5.0/spanreed.Client.pdb differ diff --git a/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.Manifest.cache b/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.Manifest.cache new file mode 100644 index 0000000..b3d61db --- /dev/null +++ b/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.Manifest.cache @@ -0,0 +1 @@ +03096b104e08c67acecd14346dcaf217a28e5179 diff --git a/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.xml b/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.xml new file mode 100644 index 0000000..6df2b5c --- /dev/null +++ b/Client/obj/Debug/net5.0/staticwebassets/spanreed.Client.StaticWebAssets.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Client/obj/project.assets.json b/Client/obj/project.assets.json new file mode 100644 index 0000000..41b2096 --- /dev/null +++ b/Client/obj/project.assets.json @@ -0,0 +1,1670 @@ +{ + "version": 3, + "targets": { + "net5.0": { + "Microsoft.AspNetCore.Authorization/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Metadata": "5.0.8", + "Microsoft.Extensions.Logging.Abstractions": "5.0.0", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Authorization.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Authorization.dll": {} + } + }, + "Microsoft.AspNetCore.Components/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authorization": "5.0.8", + "Microsoft.AspNetCore.Components.Analyzers": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.dll": {} + } + }, + "Microsoft.AspNetCore.Components.Analyzers/5.0.8": { + "type": "package", + "build": { + "buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets": {} + } + }, + "Microsoft.AspNetCore.Components.Forms/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Components": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.Forms.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.Forms.dll": {} + } + }, + "Microsoft.AspNetCore.Components.Web/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Components": "5.0.8", + "Microsoft.AspNetCore.Components.Forms": "5.0.8", + "Microsoft.Extensions.DependencyInjection": "5.0.2", + "Microsoft.JSInterop": "5.0.8", + "System.IO.Pipelines": "5.0.1" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.Web.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.Web.dll": {} + } + }, + "Microsoft.AspNetCore.Components.WebAssembly/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Components.Web": "5.0.8", + "Microsoft.Extensions.Configuration.Binder": "5.0.0", + "Microsoft.Extensions.Configuration.Json": "5.0.0", + "Microsoft.Extensions.Logging": "5.0.0", + "Microsoft.JSInterop.WebAssembly": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.WebAssembly.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.WebAssembly.dll": {} + }, + "build": { + "build/net5.0/Microsoft.AspNetCore.Components.WebAssembly.props": {} + } + }, + "Microsoft.AspNetCore.Components.WebAssembly.DevServer/5.0.8": { + "type": "package", + "build": { + "build/Microsoft.AspNetCore.Components.WebAssembly.DevServer.targets": {} + } + }, + "Microsoft.AspNetCore.Connections.Abstractions/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Connections.Client/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Connections.Common": "5.0.8", + "Microsoft.Extensions.Logging.Abstractions": "5.0.0", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.AspNetCore.Http.Connections.Client.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.AspNetCore.Http.Connections.Client.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Connections.Common/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Features/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "5.0.1", + "System.IO.Pipelines": "5.0.1" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Http.Features.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Http.Features.dll": {} + } + }, + "Microsoft.AspNetCore.Metadata/5.0.8": { + "type": "package", + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Metadata.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Metadata.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Client/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Connections.Client": "5.0.8", + "Microsoft.AspNetCore.SignalR.Client.Core": "5.0.8" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Client.Core/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.SignalR.Common": "5.0.8", + "Microsoft.AspNetCore.SignalR.Protocols.Json": "5.0.8", + "Microsoft.Extensions.DependencyInjection": "5.0.2", + "Microsoft.Extensions.Logging": "5.0.0", + "System.Threading.Channels": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.AspNetCore.SignalR.Client.Core.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.AspNetCore.SignalR.Client.Core.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Common/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "5.0.8", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Common.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Common.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.SignalR.Common": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + } + }, + "Microsoft.Extensions.Configuration/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Binder/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {} + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "5.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "5.0.0", + "Microsoft.Extensions.FileProviders.Physical": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Json/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "5.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "5.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll": {} + } + }, + "Microsoft.Extensions.DependencyInjection/5.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Physical/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "5.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + } + }, + "Microsoft.Extensions.FileSystemGlobbing/5.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} + } + }, + "Microsoft.Extensions.Logging/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "5.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0", + "Microsoft.Extensions.Logging.Abstractions": "5.0.0", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/5.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Options/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.Extensions.Options.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.Extensions.Options.dll": {} + } + }, + "Microsoft.Extensions.Primitives/5.0.1": { + "type": "package", + "compile": { + "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {} + } + }, + "Microsoft.JSInterop/5.0.8": { + "type": "package", + "compile": { + "lib/net5.0/Microsoft.JSInterop.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.JSInterop.dll": {} + } + }, + "Microsoft.JSInterop.WebAssembly/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.JSInterop": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.JSInterop.WebAssembly.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.JSInterop.WebAssembly.dll": {} + } + }, + "System.IO.Pipelines/5.0.1": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/System.IO.Pipelines.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/System.IO.Pipelines.dll": {} + } + }, + "System.Net.Http.Json/5.0.0": { + "type": "package", + "compile": { + "lib/net5.0/System.Net.Http.Json.dll": {} + }, + "runtime": { + "lib/net5.0/System.Net.Http.Json.dll": {} + } + }, + "System.Threading.Channels/5.0.0": { + "type": "package", + "compile": { + "lib/netcoreapp3.0/System.Threading.Channels.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/System.Threading.Channels.dll": {} + } + }, + "spanreed.Shared/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v5.0", + "compile": { + "bin/placeholder/spanreed.Shared.dll": {} + }, + "runtime": { + "bin/placeholder/spanreed.Shared.dll": {} + } + } + }, + "net5.0/browser-wasm": { + "Microsoft.AspNetCore.Authorization/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Metadata": "5.0.8", + "Microsoft.Extensions.Logging.Abstractions": "5.0.0", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Authorization.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Authorization.dll": {} + } + }, + "Microsoft.AspNetCore.Components/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Authorization": "5.0.8", + "Microsoft.AspNetCore.Components.Analyzers": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.dll": {} + } + }, + "Microsoft.AspNetCore.Components.Analyzers/5.0.8": { + "type": "package", + "build": { + "buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets": {} + } + }, + "Microsoft.AspNetCore.Components.Forms/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Components": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.Forms.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.Forms.dll": {} + } + }, + "Microsoft.AspNetCore.Components.Web/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Components": "5.0.8", + "Microsoft.AspNetCore.Components.Forms": "5.0.8", + "Microsoft.Extensions.DependencyInjection": "5.0.2", + "Microsoft.JSInterop": "5.0.8", + "System.IO.Pipelines": "5.0.1" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.Web.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.Web.dll": {} + } + }, + "Microsoft.AspNetCore.Components.WebAssembly/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Components.Web": "5.0.8", + "Microsoft.Extensions.Configuration.Binder": "5.0.0", + "Microsoft.Extensions.Configuration.Json": "5.0.0", + "Microsoft.Extensions.Logging": "5.0.0", + "Microsoft.JSInterop.WebAssembly": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Components.WebAssembly.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Components.WebAssembly.dll": {} + }, + "build": { + "build/net5.0/Microsoft.AspNetCore.Components.WebAssembly.props": {} + } + }, + "Microsoft.AspNetCore.Components.WebAssembly.DevServer/5.0.8": { + "type": "package", + "build": { + "build/Microsoft.AspNetCore.Components.WebAssembly.DevServer.targets": {} + } + }, + "Microsoft.AspNetCore.Connections.Abstractions/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Connections.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Connections.Client/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Connections.Common": "5.0.8", + "Microsoft.Extensions.Logging.Abstractions": "5.0.0", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.AspNetCore.Http.Connections.Client.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.AspNetCore.Http.Connections.Client.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Connections.Common/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Http.Connections.Common.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Features/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "5.0.1", + "System.IO.Pipelines": "5.0.1" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Http.Features.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Http.Features.dll": {} + } + }, + "Microsoft.AspNetCore.Metadata/5.0.8": { + "type": "package", + "compile": { + "lib/net5.0/Microsoft.AspNetCore.Metadata.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.Metadata.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Client/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Http.Connections.Client": "5.0.8", + "Microsoft.AspNetCore.SignalR.Client.Core": "5.0.8" + }, + "compile": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Client.Core/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.SignalR.Common": "5.0.8", + "Microsoft.AspNetCore.SignalR.Protocols.Json": "5.0.8", + "Microsoft.Extensions.DependencyInjection": "5.0.2", + "Microsoft.Extensions.Logging": "5.0.0", + "System.Threading.Channels": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.AspNetCore.SignalR.Client.Core.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.AspNetCore.SignalR.Client.Core.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Common/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Connections.Abstractions": "5.0.8", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Common.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Common.dll": {} + } + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.SignalR.Common": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll": {} + } + }, + "Microsoft.Extensions.Configuration/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Binder/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {} + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "5.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "5.0.0", + "Microsoft.Extensions.FileProviders.Physical": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Json/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "5.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "5.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "5.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll": {} + } + }, + "Microsoft.Extensions.DependencyInjection/5.0.2": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Physical/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "5.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": {} + } + }, + "Microsoft.Extensions.FileSystemGlobbing/5.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {} + } + }, + "Microsoft.Extensions.Logging/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "5.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0", + "Microsoft.Extensions.Logging.Abstractions": "5.0.0", + "Microsoft.Extensions.Options": "5.0.0" + }, + "compile": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/5.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Options/5.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0", + "Microsoft.Extensions.Primitives": "5.0.0" + }, + "compile": { + "lib/net5.0/Microsoft.Extensions.Options.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.Extensions.Options.dll": {} + } + }, + "Microsoft.Extensions.Primitives/5.0.1": { + "type": "package", + "compile": { + "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {} + } + }, + "Microsoft.JSInterop/5.0.8": { + "type": "package", + "compile": { + "lib/net5.0/Microsoft.JSInterop.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.JSInterop.dll": {} + } + }, + "Microsoft.JSInterop.WebAssembly/5.0.8": { + "type": "package", + "dependencies": { + "Microsoft.JSInterop": "5.0.8" + }, + "compile": { + "lib/net5.0/Microsoft.JSInterop.WebAssembly.dll": {} + }, + "runtime": { + "lib/net5.0/Microsoft.JSInterop.WebAssembly.dll": {} + } + }, + "System.IO.Pipelines/5.0.1": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/System.IO.Pipelines.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/System.IO.Pipelines.dll": {} + } + }, + "System.Net.Http.Json/5.0.0": { + "type": "package", + "compile": { + "lib/net5.0/System.Net.Http.Json.dll": {} + }, + "runtime": { + "lib/net5.0/System.Net.Http.Json.dll": {} + } + }, + "System.Threading.Channels/5.0.0": { + "type": "package", + "compile": { + "lib/netcoreapp3.0/System.Threading.Channels.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/System.Threading.Channels.dll": {} + } + }, + "spanreed.Shared/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v5.0", + "compile": { + "bin/placeholder/spanreed.Shared.dll": {} + }, + "runtime": { + "bin/placeholder/spanreed.Shared.dll": {} + } + } + } + }, + "libraries": { + "Microsoft.AspNetCore.Authorization/5.0.8": { + "sha512": "7PKGjQUmMhlGFTx+HZxR1WO3pBceOeMtCRdZ8ERHMulmX8UecHSPnoo28AYrt6aBrYy4fsNkYSjwZlUQxp6DAw==", + "type": "package", + "path": "microsoft.aspnetcore.authorization/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.Authorization.dll", + "lib/net461/Microsoft.AspNetCore.Authorization.xml", + "lib/net5.0/Microsoft.AspNetCore.Authorization.dll", + "lib/net5.0/Microsoft.AspNetCore.Authorization.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml", + "microsoft.aspnetcore.authorization.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.authorization.nuspec" + ] + }, + "Microsoft.AspNetCore.Components/5.0.8": { + "sha512": "otNeUv8Mg+S2mjVjM9eGEdZbIH19fwk9FY7LF9x40+nslRCGLVdCk+BdhTuTRnnMFW4teUatkeTar38znu4jyg==", + "type": "package", + "path": "microsoft.aspnetcore.components/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.txt", + "lib/net5.0/Microsoft.AspNetCore.Components.dll", + "lib/net5.0/Microsoft.AspNetCore.Components.xml", + "microsoft.aspnetcore.components.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.components.nuspec" + ] + }, + "Microsoft.AspNetCore.Components.Analyzers/5.0.8": { + "sha512": "9WFZ8biO7XKl9tCKkon4HN1wKGvHYLHVMmh/s1V31+CE0hO05l3Sk0acdJOVJg96upzFjaLnzxoIDPlT7f3BrA==", + "type": "package", + "path": "microsoft.aspnetcore.components.analyzers/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.txt", + "analyzers/dotnet/cs/Microsoft.AspNetCore.Components.Analyzers.dll", + "build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets", + "buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets", + "microsoft.aspnetcore.components.analyzers.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.components.analyzers.nuspec" + ] + }, + "Microsoft.AspNetCore.Components.Forms/5.0.8": { + "sha512": "0ccSBZDR9lZv9evjT7SHvrh+KgtPBKfvigb3PDKCHMQh7Z/qrJsvv1Yr46iPgwe31N2/Y82sxDOkZC+lTsZNvg==", + "type": "package", + "path": "microsoft.aspnetcore.components.forms/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.txt", + "lib/net5.0/Microsoft.AspNetCore.Components.Forms.dll", + "lib/net5.0/Microsoft.AspNetCore.Components.Forms.xml", + "microsoft.aspnetcore.components.forms.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.components.forms.nuspec" + ] + }, + "Microsoft.AspNetCore.Components.Web/5.0.8": { + "sha512": "X71IPQ+nN5dYQ1BIe7HTXdAbZSNwRQisXNOmzED6GSqUjkAgHV14+b9LW8y+1uWYqJ4jrnAwMvW1HfeQDlrFqA==", + "type": "package", + "path": "microsoft.aspnetcore.components.web/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.txt", + "lib/net5.0/Microsoft.AspNetCore.Components.Web.dll", + "lib/net5.0/Microsoft.AspNetCore.Components.Web.xml", + "microsoft.aspnetcore.components.web.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.components.web.nuspec" + ] + }, + "Microsoft.AspNetCore.Components.WebAssembly/5.0.8": { + "sha512": "HeKQdcZjKJMee3zOXGK16Pq0nYbiFsRo/ycgnj7exvgHaBTvdUptV4F6p6gGse0aJybpWCd493GQNbT1UgQGwg==", + "type": "package", + "path": "microsoft.aspnetcore.components.webassembly/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.txt", + "build/net5.0/Microsoft.AspNetCore.Components.WebAssembly.props", + "build/net5.0/blazor.webassembly.js", + "lib/net5.0/Microsoft.AspNetCore.Components.WebAssembly.dll", + "lib/net5.0/Microsoft.AspNetCore.Components.WebAssembly.xml", + "microsoft.aspnetcore.components.webassembly.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.components.webassembly.nuspec" + ] + }, + "Microsoft.AspNetCore.Components.WebAssembly.DevServer/5.0.8": { + "sha512": "uTmX+CJ/NcwVZvub/OM0MVWdLFdCbwNQVbORW80DbXYYeMDta4Ob7msOCP3UIle2TA2lCZYv4Dymr3VNgxxVYA==", + "type": "package", + "path": "microsoft.aspnetcore.components.webassembly.devserver/5.0.8", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.txt", + "build/Microsoft.AspNetCore.Components.WebAssembly.DevServer.targets", + "microsoft.aspnetcore.components.webassembly.devserver.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.components.webassembly.devserver.nuspec", + "tools/BlazorDebugProxy/BrowserDebugHost.dll", + "tools/BlazorDebugProxy/BrowserDebugHost.runtimeconfig.json", + "tools/BlazorDebugProxy/BrowserDebugProxy.dll", + "tools/BlazorDebugProxy/Microsoft.CodeAnalysis.CSharp.dll", + "tools/BlazorDebugProxy/Microsoft.CodeAnalysis.dll", + "tools/BlazorDebugProxy/Mono.Cecil.Pdb.dll", + "tools/BlazorDebugProxy/Mono.Cecil.Rocks.dll", + "tools/BlazorDebugProxy/Mono.Cecil.dll", + "tools/BlazorDebugProxy/Newtonsoft.Json.dll", + "tools/Microsoft.AspNetCore.Components.WebAssembly.Server.dll", + "tools/Microsoft.AspNetCore.Components.WebAssembly.Server.xml", + "tools/Microsoft.Extensions.Primitives.dll", + "tools/System.IO.Pipelines.dll", + "tools/blazor-devserver.deps.json", + "tools/blazor-devserver.dll", + "tools/blazor-devserver.exe", + "tools/blazor-devserver.runtimeconfig.json", + "tools/blazor-devserver.xml", + "tools/x64/aspnetcorev2_inprocess.dll", + "tools/x86/aspnetcorev2_inprocess.dll" + ] + }, + "Microsoft.AspNetCore.Connections.Abstractions/5.0.8": { + "sha512": "AmFIRfSc1uDy6BhxSSasBVvPEbB9MwrUKBit3zln2VWYO094x4XbzIqiNqoahR05gVk4dE0Ss5B81TlEbdsQ+g==", + "type": "package", + "path": "microsoft.aspnetcore.connections.abstractions/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.Connections.Abstractions.dll", + "lib/net461/Microsoft.AspNetCore.Connections.Abstractions.xml", + "lib/net5.0/Microsoft.AspNetCore.Connections.Abstractions.dll", + "lib/net5.0/Microsoft.AspNetCore.Connections.Abstractions.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Connections.Abstractions.xml", + "lib/netstandard2.1/Microsoft.AspNetCore.Connections.Abstractions.dll", + "lib/netstandard2.1/Microsoft.AspNetCore.Connections.Abstractions.xml", + "microsoft.aspnetcore.connections.abstractions.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.connections.abstractions.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Connections.Client/5.0.8": { + "sha512": "pFJMg/RsZKbN3pE5L4cqRRNsMS2gOpTLsTAFPb/Jg4AqwekzDEUGA72H++s6N47Jxlu0Oo2ROuMT0VchM+js+A==", + "type": "package", + "path": "microsoft.aspnetcore.http.connections.client/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.Http.Connections.Client.dll", + "lib/net461/Microsoft.AspNetCore.Http.Connections.Client.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Client.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Client.xml", + "lib/netstandard2.1/Microsoft.AspNetCore.Http.Connections.Client.dll", + "lib/netstandard2.1/Microsoft.AspNetCore.Http.Connections.Client.xml", + "microsoft.aspnetcore.http.connections.client.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.http.connections.client.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Connections.Common/5.0.8": { + "sha512": "3gxxTUQB9fOiRU6t4KJjqtmlxxwLoR9Xm4p0sVmagm9hnLsHBejFDQqiVLAL+w5mcfAezZL5S82bek5qxhD0lQ==", + "type": "package", + "path": "microsoft.aspnetcore.http.connections.common/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.Http.Connections.Common.dll", + "lib/net461/Microsoft.AspNetCore.Http.Connections.Common.xml", + "lib/net5.0/Microsoft.AspNetCore.Http.Connections.Common.dll", + "lib/net5.0/Microsoft.AspNetCore.Http.Connections.Common.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Connections.Common.xml", + "microsoft.aspnetcore.http.connections.common.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.http.connections.common.nuspec" + ] + }, + "Microsoft.AspNetCore.Http.Features/5.0.8": { + "sha512": "DgUcq7E239pPsd5gfsx4JfR5E6d6QOEht7A/P/DGCDF1hEx1CgKY7va7Duhn3KxvqPmj0Dw+XUYXwGQeKVC66A==", + "type": "package", + "path": "microsoft.aspnetcore.http.features/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.Http.Features.dll", + "lib/net461/Microsoft.AspNetCore.Http.Features.xml", + "lib/net5.0/Microsoft.AspNetCore.Http.Features.dll", + "lib/net5.0/Microsoft.AspNetCore.Http.Features.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Http.Features.xml", + "microsoft.aspnetcore.http.features.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.http.features.nuspec" + ] + }, + "Microsoft.AspNetCore.Metadata/5.0.8": { + "sha512": "+H9/+YSo2LIeBfhucnXm+cx/u+UciDDG3Sm4rceBQYxtE1d5Yt9AGD16tDAZtJnLheV/LQIWvrIl4gMH/2UmBA==", + "type": "package", + "path": "microsoft.aspnetcore.metadata/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.Metadata.dll", + "lib/net461/Microsoft.AspNetCore.Metadata.xml", + "lib/net5.0/Microsoft.AspNetCore.Metadata.dll", + "lib/net5.0/Microsoft.AspNetCore.Metadata.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.Metadata.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.Metadata.xml", + "microsoft.aspnetcore.metadata.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.metadata.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Client/5.0.8": { + "sha512": "ZqaRVFG279BY0JIozNc+Cauzj8f0aKv9FyPGaPeEwEebZfTHjyuseFsL2aPVQ+N6beH9KLbnAL8jCnqyI+aC6g==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.client/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.SignalR.Client.dll", + "lib/net461/Microsoft.AspNetCore.SignalR.Client.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.xml", + "microsoft.aspnetcore.signalr.client.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.signalr.client.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Client.Core/5.0.8": { + "sha512": "H9WPgsKtqsWw/9KguTzq5J9LGPN3WuKVOg8QvKsK2zb1Gvl27aC2dkgwogS7pKFmAJnqrVfa8BZs00FbJw3A6Q==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.client.core/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.SignalR.Client.Core.dll", + "lib/net461/Microsoft.AspNetCore.SignalR.Client.Core.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.Core.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Client.Core.xml", + "lib/netstandard2.1/Microsoft.AspNetCore.SignalR.Client.Core.dll", + "lib/netstandard2.1/Microsoft.AspNetCore.SignalR.Client.Core.xml", + "microsoft.aspnetcore.signalr.client.core.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.signalr.client.core.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Common/5.0.8": { + "sha512": "h4uJKO1S2LyusYkDB1AAMznBxPnRsMz8UdTWOcgDhn6BsA870vLv6DaIzpuEqt4muFAC67sQ+F5hVaqcqSVtnw==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.common/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.SignalR.Common.dll", + "lib/net461/Microsoft.AspNetCore.SignalR.Common.xml", + "lib/net5.0/Microsoft.AspNetCore.SignalR.Common.dll", + "lib/net5.0/Microsoft.AspNetCore.SignalR.Common.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Common.xml", + "microsoft.aspnetcore.signalr.common.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.signalr.common.nuspec" + ] + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json/5.0.8": { + "sha512": "tzjnc23G8Y6CyHa21awxvhs7qt6fJHe0ZYyoky/flL31T/D2WSn/rASyPFVvP3+yXefjoPalMdOLeZjjtPYoLg==", + "type": "package", + "path": "microsoft.aspnetcore.signalr.protocols.json/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.AspNetCore.SignalR.Protocols.Json.dll", + "lib/net461/Microsoft.AspNetCore.SignalR.Protocols.Json.xml", + "lib/net5.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll", + "lib/net5.0/Microsoft.AspNetCore.SignalR.Protocols.Json.xml", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.dll", + "lib/netstandard2.0/Microsoft.AspNetCore.SignalR.Protocols.Json.xml", + "microsoft.aspnetcore.signalr.protocols.json.5.0.8.nupkg.sha512", + "microsoft.aspnetcore.signalr.protocols.json.nuspec" + ] + }, + "Microsoft.Extensions.Configuration/5.0.0": { + "sha512": "LN322qEKHjuVEhhXueTUe7RNePooZmS8aGid5aK2woX3NPjSnONFyKUc6+JknOS6ce6h2tCLfKPTBXE3mN/6Ag==", + "type": "package", + "path": "microsoft.extensions.configuration/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.dll", + "lib/net461/Microsoft.Extensions.Configuration.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml", + "microsoft.extensions.configuration.5.0.0.nupkg.sha512", + "microsoft.extensions.configuration.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/5.0.0": { + "sha512": "ETjSBHMp3OAZ4HxGQYpwyGsD8Sw5FegQXphi0rpoGMT74S4+I2mm7XJEswwn59XAaKOzC15oDSOWEE8SzDCd6Q==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", + "microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Configuration.Binder/5.0.0": { + "sha512": "Of1Irt1+NzWO+yEYkuDh5TpT4On7LKl98Q9iLqCdOZps6XXEWDj3AKtmyvzJPVXZe4apmkJJIiDL7rR1yC+hjQ==", + "type": "package", + "path": "microsoft.extensions.configuration.binder/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.Binder.dll", + "lib/net461/Microsoft.Extensions.Configuration.Binder.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml", + "microsoft.extensions.configuration.binder.5.0.0.nupkg.sha512", + "microsoft.extensions.configuration.binder.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Configuration.FileExtensions/5.0.0": { + "sha512": "rRdspYKA18ViPOISwAihhCMbusHsARCOtDMwa23f+BGEdIjpKPlhs3LLjmKlxfhpGXBjIsS0JpXcChjRUN+PAw==", + "type": "package", + "path": "microsoft.extensions.configuration.fileextensions/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.FileExtensions.dll", + "lib/net461/Microsoft.Extensions.Configuration.FileExtensions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml", + "microsoft.extensions.configuration.fileextensions.5.0.0.nupkg.sha512", + "microsoft.extensions.configuration.fileextensions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Configuration.Json/5.0.0": { + "sha512": "Pak8ymSUfdzPfBTLHxeOwcR32YDbuVfhnH2hkfOLnJNQd19ItlBdpMjIDY9C5O/nS2Sn9bzDMai0ZrvF7KyY/Q==", + "type": "package", + "path": "microsoft.extensions.configuration.json/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Configuration.Json.dll", + "lib/net461/Microsoft.Extensions.Configuration.Json.xml", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml", + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll", + "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml", + "microsoft.extensions.configuration.json.5.0.0.nupkg.sha512", + "microsoft.extensions.configuration.json.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/5.0.2": { + "sha512": "xzFW00AZEvOXM1OX+0+AYH5op/Hf3u//e6wszBd/rK72sypD+jx5CtsHxM4BVuFBEs8SajfO4QzSJtrQaHDr4A==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/5.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.DependencyInjection.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.xml", + "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net5.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", + "microsoft.extensions.dependencyinjection.5.0.2.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": { + "sha512": "ORj7Zh81gC69TyvmcUm9tSzytcy8AVousi+IVRAI8nLieQjOFryRusSFh7+aLk16FN9pQNqJAiMd7BTKINK0kA==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.FileProviders.Abstractions/5.0.0": { + "sha512": "iuZIiZ3mteEb+nsUqpGXKx2cGF+cv6gWPd5jqQI4hzqdiJ6I94ddLjKhQOuRW1lueHwocIw30xbSHGhQj0zjdQ==", + "type": "package", + "path": "microsoft.extensions.fileproviders.abstractions/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/net461/Microsoft.Extensions.FileProviders.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml", + "microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg.sha512", + "microsoft.extensions.fileproviders.abstractions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.FileProviders.Physical/5.0.0": { + "sha512": "1rkd8UO2qf21biwO7X0hL9uHP7vtfmdv/NLvKgCRHkdz1XnW8zVQJXyEYiN68WYpExgtVWn55QF0qBzgfh1mGg==", + "type": "package", + "path": "microsoft.extensions.fileproviders.physical/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.FileProviders.Physical.dll", + "lib/net461/Microsoft.Extensions.FileProviders.Physical.xml", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.xml", + "microsoft.extensions.fileproviders.physical.5.0.0.nupkg.sha512", + "microsoft.extensions.fileproviders.physical.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.FileSystemGlobbing/5.0.0": { + "sha512": "ArliS8lGk8sWRtrWpqI8yUVYJpRruPjCDT+EIjrgkA/AAPRctlAkRISVZ334chAKktTLzD1+PK8F5IZpGedSqA==", + "type": "package", + "path": "microsoft.extensions.filesystemglobbing/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.FileSystemGlobbing.dll", + "lib/net461/Microsoft.Extensions.FileSystemGlobbing.xml", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll", + "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml", + "microsoft.extensions.filesystemglobbing.5.0.0.nupkg.sha512", + "microsoft.extensions.filesystemglobbing.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Logging/5.0.0": { + "sha512": "MgOwK6tPzB6YNH21wssJcw/2MKwee8b2gI7SllYfn6rvTpIrVvVS5HAjSU2vqSku1fwqRvWP0MdIi14qjd93Aw==", + "type": "package", + "path": "microsoft.extensions.logging/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.dll", + "lib/net461/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", + "microsoft.extensions.logging.5.0.0.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/5.0.0": { + "sha512": "NxP6ahFcBnnSfwNBi2KH2Oz8Xl5Sm2krjId/jRR3I7teFphwiUoUeZPwTNA21EX+5PtjqmyAvKaOeBXcJjcH/w==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net461/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Options/5.0.0": { + "sha512": "CBvR92TCJ5uBIdd9/HzDSrxYak+0W/3+yxrNg8Qm6Bmrkh5L+nu6m3WeazQehcZ5q1/6dDA7J5YdQjim0165zg==", + "type": "package", + "path": "microsoft.extensions.options/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Options.dll", + "lib/net461/Microsoft.Extensions.Options.xml", + "lib/net5.0/Microsoft.Extensions.Options.dll", + "lib/net5.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.5.0.0.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Primitives/5.0.1": { + "sha512": "5WPSmL4YeP7eW+Vc8XZ4DwjYWBAiSwDV9Hm63JJWcz1Ie3Xjv4KuJXzgCstj48LkLfVCYa7mLcx7y+q6yqVvtw==", + "type": "package", + "path": "microsoft.extensions.primitives/5.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Extensions.Primitives.dll", + "lib/net461/Microsoft.Extensions.Primitives.xml", + "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll", + "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.5.0.1.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.JSInterop/5.0.8": { + "sha512": "Z/UOpQ10+7raMdQN0RQOa5rrYy8oreYzYOuPDIdv3YzSu/l92D7yhOnmRwsalOLseywX1EiBRMOhc7vaEtRIKw==", + "type": "package", + "path": "microsoft.jsinterop/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "lib/net5.0/Microsoft.JSInterop.dll", + "lib/net5.0/Microsoft.JSInterop.xml", + "microsoft.jsinterop.5.0.8.nupkg.sha512", + "microsoft.jsinterop.nuspec" + ] + }, + "Microsoft.JSInterop.WebAssembly/5.0.8": { + "sha512": "rJO1NqZywGK+Z4abAPMH3+aQ+XbMcJnPW2ElHeoUc0aCD9X5Iq6ZNsXPAXdMf7HVexwnhjcUrFP/HlFd9dBVRA==", + "type": "package", + "path": "microsoft.jsinterop.webassembly/5.0.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.txt", + "lib/net5.0/Microsoft.JSInterop.WebAssembly.dll", + "lib/net5.0/Microsoft.JSInterop.WebAssembly.xml", + "microsoft.jsinterop.webassembly.5.0.8.nupkg.sha512", + "microsoft.jsinterop.webassembly.nuspec" + ] + }, + "System.IO.Pipelines/5.0.1": { + "sha512": "qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==", + "type": "package", + "path": "system.io.pipelines/5.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.IO.Pipelines.dll", + "lib/net461/System.IO.Pipelines.xml", + "lib/netcoreapp3.0/System.IO.Pipelines.dll", + "lib/netcoreapp3.0/System.IO.Pipelines.xml", + "lib/netstandard1.3/System.IO.Pipelines.dll", + "lib/netstandard1.3/System.IO.Pipelines.xml", + "lib/netstandard2.0/System.IO.Pipelines.dll", + "lib/netstandard2.0/System.IO.Pipelines.xml", + "ref/netcoreapp2.0/System.IO.Pipelines.dll", + "ref/netcoreapp2.0/System.IO.Pipelines.xml", + "system.io.pipelines.5.0.1.nupkg.sha512", + "system.io.pipelines.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Net.Http.Json/5.0.0": { + "sha512": "3CPSQpCzEmI9o+1G79TnPCjF40omCdnoXj2Rg76BDwGj5+LZnFPjV+t35eedlvl+uthmholk/XXxXTYgJWSexw==", + "type": "package", + "path": "system.net.http.json/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.Net.Http.Json.dll", + "lib/net461/System.Net.Http.Json.xml", + "lib/net5.0/System.Net.Http.Json.dll", + "lib/net5.0/System.Net.Http.Json.xml", + "lib/netstandard2.0/System.Net.Http.Json.dll", + "lib/netstandard2.0/System.Net.Http.Json.xml", + "system.net.http.json.5.0.0.nupkg.sha512", + "system.net.http.json.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "System.Threading.Channels/5.0.0": { + "sha512": "RLBIxntLaG9pRmmuVDwY1kc8Bvp/FQzSxPU+19VekkScKkWtVP9r8bLhm28ama3usc816UBrmkg3vv3jUea/hw==", + "type": "package", + "path": "system.threading.channels/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/System.Threading.Channels.dll", + "lib/net461/System.Threading.Channels.xml", + "lib/netcoreapp3.0/System.Threading.Channels.dll", + "lib/netcoreapp3.0/System.Threading.Channels.xml", + "lib/netstandard1.3/System.Threading.Channels.dll", + "lib/netstandard1.3/System.Threading.Channels.xml", + "lib/netstandard2.0/System.Threading.Channels.dll", + "lib/netstandard2.0/System.Threading.Channels.xml", + "lib/netstandard2.1/System.Threading.Channels.dll", + "lib/netstandard2.1/System.Threading.Channels.xml", + "system.threading.channels.5.0.0.nupkg.sha512", + "system.threading.channels.nuspec", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "spanreed.Shared/1.0.0": { + "type": "project", + "path": "../Shared/spanreed.Shared.csproj", + "msbuildProject": "../Shared/spanreed.Shared.csproj" + } + }, + "projectFileDependencyGroups": { + "net5.0": [ + "Microsoft.AspNetCore.Components.WebAssembly >= 5.0.8", + "Microsoft.AspNetCore.Components.WebAssembly.DevServer >= 5.0.8", + "Microsoft.AspNetCore.SignalR.Client >= 5.0.8", + "System.Net.Http.Json >= 5.0.0", + "spanreed.Shared >= 1.0.0" + ] + }, + "packageFolders": { + "/home/skins/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/skins/projects/spanreed/Client/spanreed.Client.csproj", + "projectName": "spanreed.Client", + "projectPath": "/home/skins/projects/spanreed/Client/spanreed.Client.csproj", + "packagesPath": "/home/skins/.nuget/packages/", + "outputPath": "/home/skins/projects/spanreed/Client/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/skins/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": { + "/home/skins/projects/spanreed/Shared/spanreed.Shared.csproj": { + "projectPath": "/home/skins/projects/spanreed/Shared/spanreed.Shared.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "dependencies": { + "Microsoft.AspNetCore.Components.WebAssembly": { + "target": "Package", + "version": "[5.0.8, )" + }, + "Microsoft.AspNetCore.Components.WebAssembly.DevServer": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.8, )" + }, + "Microsoft.AspNetCore.SignalR.Client": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.8, )" + }, + "System.Net.Http.Json": { + "target": "Package", + "version": "[5.0.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.NETCore.App.Runtime.browser-wasm", + "version": "[5.0.8, 5.0.8]" + } + ], + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/5.0.302/RuntimeIdentifierGraph.json" + } + }, + "runtimes": { + "browser-wasm": { + "#import": [] + } + } + } +} \ No newline at end of file diff --git a/Client/obj/project.nuget.cache b/Client/obj/project.nuget.cache new file mode 100644 index 0000000..54f7228 --- /dev/null +++ b/Client/obj/project.nuget.cache @@ -0,0 +1,45 @@ +{ + "version": 2, + "dgSpecHash": "OlVJMZo3u8K4sRbP1b4vhs4pCGPB14xDvGe3/v8Q1wPIBr4A6yLYwrt4pHXqGAxn83qfS1Dh9I9RkyskP0LCAw==", + "success": true, + "projectFilePath": "/home/skins/projects/spanreed/Client/spanreed.Client.csproj", + "expectedPackageFiles": [ + "/home/skins/.nuget/packages/microsoft.aspnetcore.authorization/5.0.8/microsoft.aspnetcore.authorization.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.components/5.0.8/microsoft.aspnetcore.components.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.components.analyzers/5.0.8/microsoft.aspnetcore.components.analyzers.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.components.forms/5.0.8/microsoft.aspnetcore.components.forms.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.components.web/5.0.8/microsoft.aspnetcore.components.web.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.components.webassembly/5.0.8/microsoft.aspnetcore.components.webassembly.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.components.webassembly.devserver/5.0.8/microsoft.aspnetcore.components.webassembly.devserver.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.connections.abstractions/5.0.8/microsoft.aspnetcore.connections.abstractions.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.http.connections.client/5.0.8/microsoft.aspnetcore.http.connections.client.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.http.connections.common/5.0.8/microsoft.aspnetcore.http.connections.common.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.http.features/5.0.8/microsoft.aspnetcore.http.features.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.metadata/5.0.8/microsoft.aspnetcore.metadata.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.signalr.client/5.0.8/microsoft.aspnetcore.signalr.client.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.signalr.client.core/5.0.8/microsoft.aspnetcore.signalr.client.core.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.signalr.common/5.0.8/microsoft.aspnetcore.signalr.common.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.aspnetcore.signalr.protocols.json/5.0.8/microsoft.aspnetcore.signalr.protocols.json.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.configuration/5.0.0/microsoft.extensions.configuration.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.configuration.abstractions/5.0.0/microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.configuration.binder/5.0.0/microsoft.extensions.configuration.binder.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.configuration.fileextensions/5.0.0/microsoft.extensions.configuration.fileextensions.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.configuration.json/5.0.0/microsoft.extensions.configuration.json.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.dependencyinjection/5.0.2/microsoft.extensions.dependencyinjection.5.0.2.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/5.0.0/microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.fileproviders.abstractions/5.0.0/microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.fileproviders.physical/5.0.0/microsoft.extensions.fileproviders.physical.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.filesystemglobbing/5.0.0/microsoft.extensions.filesystemglobbing.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.logging/5.0.0/microsoft.extensions.logging.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.logging.abstractions/5.0.0/microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.options/5.0.0/microsoft.extensions.options.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.extensions.primitives/5.0.1/microsoft.extensions.primitives.5.0.1.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.jsinterop/5.0.8/microsoft.jsinterop.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.jsinterop.webassembly/5.0.8/microsoft.jsinterop.webassembly.5.0.8.nupkg.sha512", + "/home/skins/.nuget/packages/system.io.pipelines/5.0.1/system.io.pipelines.5.0.1.nupkg.sha512", + "/home/skins/.nuget/packages/system.net.http.json/5.0.0/system.net.http.json.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/system.threading.channels/5.0.0/system.threading.channels.5.0.0.nupkg.sha512", + "/home/skins/.nuget/packages/microsoft.netcore.app.runtime.browser-wasm/5.0.8/microsoft.netcore.app.runtime.browser-wasm.5.0.8.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/Client/obj/spanreed.Client.csproj.nuget.dgspec.json b/Client/obj/spanreed.Client.csproj.nuget.dgspec.json new file mode 100644 index 0000000..7a1ab47 --- /dev/null +++ b/Client/obj/spanreed.Client.csproj.nuget.dgspec.json @@ -0,0 +1,147 @@ +{ + "format": 1, + "restore": { + "/home/skins/projects/spanreed/Client/spanreed.Client.csproj": {} + }, + "projects": { + "/home/skins/projects/spanreed/Client/spanreed.Client.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/skins/projects/spanreed/Client/spanreed.Client.csproj", + "projectName": "spanreed.Client", + "projectPath": "/home/skins/projects/spanreed/Client/spanreed.Client.csproj", + "packagesPath": "/home/skins/.nuget/packages/", + "outputPath": "/home/skins/projects/spanreed/Client/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/skins/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": { + "/home/skins/projects/spanreed/Shared/spanreed.Shared.csproj": { + "projectPath": "/home/skins/projects/spanreed/Shared/spanreed.Shared.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "dependencies": { + "Microsoft.AspNetCore.Components.WebAssembly": { + "target": "Package", + "version": "[5.0.8, )" + }, + "Microsoft.AspNetCore.Components.WebAssembly.DevServer": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.8, )" + }, + "Microsoft.AspNetCore.SignalR.Client": { + "suppressParent": "All", + "target": "Package", + "version": "[5.0.8, )" + }, + "System.Net.Http.Json": { + "target": "Package", + "version": "[5.0.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.NETCore.App.Runtime.browser-wasm", + "version": "[5.0.8, 5.0.8]" + } + ], + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/5.0.302/RuntimeIdentifierGraph.json" + } + }, + "runtimes": { + "browser-wasm": { + "#import": [] + } + } + }, + "/home/skins/projects/spanreed/Shared/spanreed.Shared.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/skins/projects/spanreed/Shared/spanreed.Shared.csproj", + "projectName": "spanreed.Shared", + "projectPath": "/home/skins/projects/spanreed/Shared/spanreed.Shared.csproj", + "packagesPath": "/home/skins/.nuget/packages/", + "outputPath": "/home/skins/projects/spanreed/Shared/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/skins/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net5.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net5.0": { + "targetAlias": "net5.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/5.0.302/RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Client/obj/spanreed.Client.csproj.nuget.g.props b/Client/obj/spanreed.Client.csproj.nuget.g.props new file mode 100644 index 0000000..6237d26 --- /dev/null +++ b/Client/obj/spanreed.Client.csproj.nuget.g.props @@ -0,0 +1,24 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /home/skins/.nuget/packages/ + /home/skins/.nuget/packages/ + PackageReference + 5.10.0 + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + /home/skins/.nuget/packages/microsoft.aspnetcore.components.webassembly.devserver/5.0.8 + + \ No newline at end of file diff --git a/Client/obj/spanreed.Client.csproj.nuget.g.targets b/Client/obj/spanreed.Client.csproj.nuget.g.targets new file mode 100644 index 0000000..ee2f021 --- /dev/null +++ b/Client/obj/spanreed.Client.csproj.nuget.g.targets @@ -0,0 +1,10 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + \ No newline at end of file diff --git a/Client/spanreed.Client.csproj b/Client/spanreed.Client.csproj new file mode 100644 index 0000000..b50c878 --- /dev/null +++ b/Client/spanreed.Client.csproj @@ -0,0 +1,18 @@ + + + + net5.0 + + + + + + + + + + + + + + diff --git a/Client/wwwroot/css/app.css b/Client/wwwroot/css/app.css new file mode 100644 index 0000000..e92a221 --- /dev/null +++ b/Client/wwwroot/css/app.css @@ -0,0 +1,70 @@ +@import url('open-iconic/font/css/open-iconic-bootstrap.min.css'); + +html, body { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +a, .btn-link { + color: #0366d6; +} + +.btn-primary { + color: #fff; + background-color: #1b6ec2; + border-color: #1861ac; +} + +.content { + padding-top: 1.1rem; +} + +.valid.modified:not([type=checkbox]) { + outline: 1px solid #26b050; +} + +.invalid { + outline: 1px solid red; +} + +.validation-message { + color: red; +} + +#blazor-error-ui { + background: lightyellow; + bottom: 0; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); + display: none; + left: 0; + padding: 0.6rem 1.25rem 0.7rem 1.25rem; + position: fixed; + width: 100%; + z-index: 1000; +} + +#blazor-error-ui .dismiss { + cursor: pointer; + position: absolute; + right: 0.75rem; + top: 0.5rem; +} + +.message-author { + margin-bottom: 0; + padding-bottom: 0; + line-height: 1; +} + +.message-timestamp { + color: gray; + font-size: 12px; + margin-bottom: 0.5rem; +} + +.message-content { + color: rgb(70, 70, 70); +} + +#messagesList { + list-style-type: none; +} diff --git a/Client/wwwroot/css/bootstrap/bootstrap.min.css b/Client/wwwroot/css/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..92e3fe8 --- /dev/null +++ b/Client/wwwroot/css/bootstrap/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/Client/wwwroot/css/bootstrap/bootstrap.min.css.map b/Client/wwwroot/css/bootstrap/bootstrap.min.css.map new file mode 100644 index 0000000..1e9cb78 --- /dev/null +++ b/Client/wwwroot/css/bootstrap/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;ACAA,MAGI,OAAA,QAAA,SAAA,QAAA,SAAA,QAAA,OAAA,QAAA,MAAA,QAAA,SAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAAA,OAAA,QAAA,QAAA,KAAA,OAAA,QAAA,YAAA,QAIA,UAAA,QAAA,YAAA,QAAA,UAAA,QAAA,OAAA,QAAA,UAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAIA,gBAAA,EAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,OAKF,yBAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBACA,wBAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UCCF,ECqBA,QADA,SDjBE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,4BAAA,YAMF,QAAA,MAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAUF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBEgFI,UAAA,KF9EJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KGYF,sBHHE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KCZF,0BDuBA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EACA,iCAAA,KAAA,yBAAA,KAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCjBF,GDoBA,GCrBA,GDwBE,WAAA,EACA,cAAA,KAGF,MCpBA,MACA,MAFA,MDyBE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,ECrBA,ODuBE,YAAA,OAGF,MEpFI,UAAA,IF6FJ,IC1BA,ID4BE,SAAA,SE/FE,UAAA,IFiGF,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YI5KA,QJ+KE,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KIxLA,oCAAA,oCJ2LE,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EC5BJ,KACA,IDoCA,ICnCA,KDuCE,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UErJE,UAAA,IFyJJ,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,IAGE,SAAA,OACA,eAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OAEE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBCvEF,OD0EA,MCxEA,SADA,OAEA,SD4EE,OAAA,EACA,YAAA,QEtPE,UAAA,QFwPF,YAAA,QAGF,OC1EA,MD4EE,SAAA,QAGF,OC1EA,OD4EE,eAAA,KAMF,OACE,UAAA,OC1EF,cACA,aACA,cD+EA,OAIE,mBAAA,OC9EF,6BACA,4BACA,6BDiFE,sBAKI,OAAA,QCjFN,gCACA,+BACA,gCDqFA,yBAIE,QAAA,EACA,aAAA,KCpFF,qBDuFA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCvFA,2BACA,kBAFA,iBDiGE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MElSI,UAAA,OFoSJ,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SGtGF,yCFGA,yCDyGE,OAAA,KGvGF,cH+GE,eAAA,KACA,mBAAA,KG3GF,yCHmHE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KGxHF,SH8HE,QAAA,eCvHF,IAAK,IAAK,IAAK,IAAK,IAAK,IIpWzB,GAAA,GAAA,GAAA,GAAA,GAAA,GAEE,cAAA,MAEA,YAAA,IACA,YAAA,IAIF,IAAA,GHgHM,UAAA,OG/GN,IAAA,GH+GM,UAAA,KG9GN,IAAA,GH8GM,UAAA,QG7GN,IAAA,GH6GM,UAAA,OG5GN,IAAA,GH4GM,UAAA,QG3GN,IAAA,GH2GM,UAAA,KGzGN,MHyGM,UAAA,QGvGJ,YAAA,IAIF,WHmGM,UAAA,KGjGJ,YAAA,IACA,YAAA,IAEF,WH8FM,UAAA,OG5FJ,YAAA,IACA,YAAA,IAEF,WHyFM,UAAA,OGvFJ,YAAA,IACA,YAAA,IAEF,WHoFM,UAAA,OGlFJ,YAAA,IACA,YAAA,ILyBF,GKhBE,WAAA,KACA,cAAA,KACA,OAAA,EACA,WAAA,IAAA,MAAA,eJmXF,OI3WA,MHMI,UAAA,IGHF,YAAA,IJ8WF,MI3WA,KAEE,QAAA,KACA,iBAAA,QAQF,eC/EE,aAAA,EACA,WAAA,KDmFF,aCpFE,aAAA,EACA,WAAA,KDsFF,kBACE,QAAA,aADF,mCAII,aAAA,MAUJ,YHjCI,UAAA,IGmCF,eAAA,UAIF,YACE,cAAA,KHeI,UAAA,QGXN,mBACE,QAAA,MH7CE,UAAA,IG+CF,MAAA,QAHF,2BAMI,QAAA,aEnHJ,WCIE,UAAA,KAGA,OAAA,KDDF,eACE,QAAA,OACA,iBAAA,KACA,OAAA,IAAA,MAAA,QEXE,cAAA,ODMF,UAAA,KAGA,OAAA,KDcF,QAEE,QAAA,aAGF,YACE,cAAA,MACA,YAAA,EAGF,gBLkCI,UAAA,IKhCF,MAAA,QGvCF,KRuEI,UAAA,MQrEF,MAAA,QACA,WAAA,WAGA,OACE,MAAA,QAKJ,IACE,QAAA,MAAA,MR0DE,UAAA,MQxDF,MAAA,KACA,iBAAA,QDZE,cAAA,MCQJ,QASI,QAAA,ERkDA,UAAA,KQhDA,YAAA,IVyMJ,IUlME,QAAA,MRyCE,UAAA,MQvCF,MAAA,QAHF,SR0CI,UAAA,QQlCA,MAAA,QACA,WAAA,OAKJ,gBACE,WAAA,MACA,WAAA,OCzCA,WCAA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCmDE,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,0BFvDF,WCYI,UAAA,QDAJ,iBCZA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KDkBA,KCJA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDOA,YACE,aAAA,EACA,YAAA,EAFF,iBVyjBF,0BUnjBM,cAAA,EACA,aAAA,EGjCJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,ObylBF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aa5lBI,SAAA,SACA,MAAA,KACA,cAAA,KACA,aAAA,KAmBE,KACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,UACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,OFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,aAAwB,eAAA,GAAA,MAAA,GAExB,YAAuB,eAAA,GAAA,MAAA,GAGrB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAMtB,UFTR,YAAA,UESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,WFTR,YAAA,WESQ,WFTR,YAAA,WCWE,yBC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCWE,yBC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCWE,yBC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCWE,0BC9BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YG7CF,OACE,MAAA,KACA,cAAA,KACA,MAAA,Qdy+CF,Uc5+CA,UAQI,QAAA,OACA,eAAA,IACA,WAAA,IAAA,MAAA,QAVJ,gBAcI,eAAA,OACA,cAAA,IAAA,MAAA,QAfJ,mBAmBI,WAAA,IAAA,MAAA,Qdy+CJ,ach+CA,aAGI,QAAA,MASJ,gBACE,OAAA,IAAA,MAAA,Qd49CF,mBc79CA,mBAKI,OAAA,IAAA,MAAA,Qd69CJ,yBcl+CA,yBAWM,oBAAA,Id89CN,8BAFA,qBcv9CA,qBdw9CA,2Bcn9CI,OAAA,EAQJ,yCAEI,iBAAA,gBX/DF,4BW2EI,MAAA,QACA,iBAAA,iBCnFJ,ef+hDF,kBADA,kBe1hDM,iBAAA,QfkiDN,2BAFA,kBepiDE,kBfqiDF,wBezhDQ,aAAA,QZLN,kCYiBM,iBAAA,QALN,qCf4hDF,qCenhDU,iBAAA,QA5BR,iBfqjDF,oBADA,oBehjDM,iBAAA,QfwjDN,6BAFA,oBe1jDE,oBf2jDF,0Be/iDQ,aAAA,QZLN,oCYiBM,iBAAA,QALN,uCfkjDF,uCeziDU,iBAAA,QA5BR,ef2kDF,kBADA,kBetkDM,iBAAA,Qf8kDN,2BAFA,kBehlDE,kBfilDF,wBerkDQ,aAAA,QZLN,kCYiBM,iBAAA,QALN,qCfwkDF,qCe/jDU,iBAAA,QA5BR,YfimDF,eADA,ee5lDM,iBAAA,QfomDN,wBAFA,eetmDE,efumDF,qBe3lDQ,aAAA,QZLN,+BYiBM,iBAAA,QALN,kCf8lDF,kCerlDU,iBAAA,QA5BR,efunDF,kBADA,kBelnDM,iBAAA,Qf0nDN,2BAFA,kBe5nDE,kBf6nDF,wBejnDQ,aAAA,QZLN,kCYiBM,iBAAA,QALN,qCfonDF,qCe3mDU,iBAAA,QA5BR,cf6oDF,iBADA,iBexoDM,iBAAA,QfgpDN,0BAFA,iBelpDE,iBfmpDF,uBevoDQ,aAAA,QZLN,iCYiBM,iBAAA,QALN,oCf0oDF,oCejoDU,iBAAA,QA5BR,afmqDF,gBADA,gBe9pDM,iBAAA,QfsqDN,yBAFA,gBexqDE,gBfyqDF,sBe7pDQ,aAAA,QZLN,gCYiBM,iBAAA,QALN,mCfgqDF,mCevpDU,iBAAA,QA5BR,YfyrDF,eADA,eeprDM,iBAAA,Qf4rDN,wBAFA,ee9rDE,ef+rDF,qBenrDQ,aAAA,QZLN,+BYiBM,iBAAA,QALN,kCfsrDF,kCe7qDU,iBAAA,QA5BR,cf+sDF,iBADA,iBe1sDM,iBAAA,iBZGJ,iCYiBM,iBAAA,iBALN,oCfqsDF,oCe5rDU,iBAAA,iBD8EV,sBAGM,MAAA,KACA,iBAAA,QACA,aAAA,QALN,uBAWM,MAAA,QACA,iBAAA,QACA,aAAA,QAKN,YACE,MAAA,KACA,iBAAA,QdgnDF,eclnDA,edmnDA,qBc5mDI,aAAA,QAPJ,2BAWI,OAAA,EAXJ,oDAgBM,iBAAA,sBXrIJ,uCW4IM,MAAA,KACA,iBAAA,uBFhFJ,4BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GF1GN,4BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GF1GN,4BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GF1GN,6BEiGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MALH,qCASK,OAAA,GAdV,kBAOQ,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MAVR,kCAcU,OAAA,EE7KV,cACE,QAAA,MACA,MAAA,KACA,OAAA,2BACA,QAAA,QAAA,OfqHI,UAAA,KelHJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,QRbE,cAAA,OSCE,WAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAKF,uCDLJ,cCMM,WAAA,MDNN,0BAsBI,iBAAA,YACA,OAAA,EEhBF,oBACE,MAAA,QACA,iBAAA,KACA,aAAA,QACA,QAAA,EAKE,WAAA,EAAA,EAAA,EAAA,MAAA,oBFhBN,yCA+BI,MAAA,QAEA,QAAA,EAjCJ,gCA+BI,MAAA,QAEA,QAAA,EAjCJ,oCA+BI,MAAA,QAEA,QAAA,EAjCJ,qCA+BI,MAAA,QAEA,QAAA,EAjCJ,2BA+BI,MAAA,QAEA,QAAA,EAjCJ,uBAAA,wBA2CI,iBAAA,QAEA,QAAA,EAIJ,qCAOI,MAAA,QACA,iBAAA,KAKJ,mBhBm0DA,oBgBj0DE,QAAA,MACA,MAAA,KAUF,gBACE,YAAA,oBACA,eAAA,oBACA,cAAA,EfZE,UAAA,QecF,YAAA,IAGF,mBACE,YAAA,kBACA,eAAA,kBfoCI,UAAA,QelCJ,YAAA,IAGF,mBACE,YAAA,mBACA,eAAA,mBf6BI,UAAA,Qe3BJ,YAAA,IASF,wBACE,QAAA,MACA,MAAA,KACA,YAAA,QACA,eAAA,QACA,cAAA,EACA,YAAA,IACA,MAAA,QACA,iBAAA,YACA,OAAA,MAAA,YACA,aAAA,IAAA,EAVF,wCAAA,wCAcI,cAAA,EACA,aAAA,EAYJ,iBACE,OAAA,0BACA,QAAA,OAAA,MfXI,UAAA,QeaJ,YAAA,IRvIE,cAAA,MQ2IJ,iBACE,OAAA,yBACA,QAAA,MAAA,KfnBI,UAAA,QeqBJ,YAAA,IR/IE,cAAA,MQoJJ,8BAAA,0BAGI,OAAA,KAIJ,sBACE,OAAA,KAQF,YACE,cAAA,KAGF,WACE,QAAA,MACA,WAAA,OAQF,UACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,KACA,YAAA,KAJF,ehBwyDA,wBgBhyDI,cAAA,IACA,aAAA,IASJ,YACE,SAAA,SACA,QAAA,MACA,aAAA,QAGF,kBACE,SAAA,SACA,WAAA,MACA,YAAA,SAHF,6CAMI,MAAA,QAIJ,kBACE,cAAA,EAGF,mBACE,QAAA,mBAAA,QAAA,YACA,eAAA,OAAA,YAAA,OACA,aAAA,EACA,aAAA,OAJF,qCAQI,SAAA,OACA,WAAA,EACA,aAAA,SACA,YAAA,EE3MF,gBACE,QAAA,KACA,MAAA,KACA,WAAA,OjBwCA,UAAA,IiBtCA,MAAA,QAGF,eACE,SAAA,SACA,IAAA,KACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,OAAA,MACA,WAAA,MjBmFE,UAAA,QiBjFF,YAAA,IACA,MAAA,KACA,iBAAA,mBV3CA,cAAA,OUgDA,uBAAA,mCAEE,aAAA,QAGE,cAAA,qBACA,iBAAA,2OACA,kBAAA,UACA,oBAAA,OAAA,MAAA,wBACA,gBAAA,sBAAA,sBATJ,6BAAA,yCAaI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBlB2+D6C,uCACrD,sCkB1/DI,mDlBy/DJ,kDkBt+DQ,QAAA,MAOJ,2CAAA,+BAGI,cAAA,qBACA,oBAAA,IAAA,wBAAA,MAAA,wBAMJ,wBAAA,oCAEE,aAAA,QAGE,cAAA,uCACA,WAAA,0JAAA,UAAA,MAAA,OAAA,MAAA,CAAA,IAAA,IAAA,CAAA,2OAAA,KAAA,UAAA,OAAA,MAAA,OAAA,CAAA,sBAAA,sBANJ,8BAAA,0CAUI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBlBg+D8C,wCACtD,uCkB5+DI,oDlB2+DJ,mDkB39DQ,QAAA,MlBi+DkD,4CAC1D,2CkB39DI,wDlB09DJ,uDkBt9DQ,QAAA,MAMJ,6CAAA,yDAGI,MAAA,QlBu9DiD,2CACzD,0CkB39DI,uDlB09DJ,sDkBl9DQ,QAAA,MAMJ,qDAAA,iEAGI,MAAA,QAHJ,6DAAA,yEAMM,aAAA,QlBo9DmD,+CAC7D,8CkB39DI,2DlB09DJ,0DkB98DQ,QAAA,MAZJ,qEAAA,iFAiBM,aAAA,QCnJN,iBAAA,QDkIA,mEAAA,+EAwBM,WAAA,EAAA,EAAA,EAAA,MAAA,oBAxBN,iFAAA,6FA4BM,aAAA,QAQN,+CAAA,2DAGI,aAAA,QlB08DkD,4CAC1D,2CkB98DI,wDlB68DJ,uDkBr8DQ,QAAA,MARJ,qDAAA,iEAaM,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBA7JR,kBACE,QAAA,KACA,MAAA,KACA,WAAA,OjBwCA,UAAA,IiBtCA,MAAA,QAGF,iBACE,SAAA,SACA,IAAA,KACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,OAAA,MACA,WAAA,MjBmFE,UAAA,QiBjFF,YAAA,IACA,MAAA,KACA,iBAAA,mBV3CA,cAAA,OUgDA,yBAAA,qCAEE,aAAA,QAGE,cAAA,qBACA,iBAAA,qRACA,kBAAA,UACA,oBAAA,OAAA,MAAA,wBACA,gBAAA,sBAAA,sBATJ,+BAAA,2CAaI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBlBsmEiD,2CACzD,0CkBrnEI,uDlBonEJ,sDkBjmEQ,QAAA,MAOJ,6CAAA,iCAGI,cAAA,qBACA,oBAAA,IAAA,wBAAA,MAAA,wBAMJ,0BAAA,sCAEE,aAAA,QAGE,cAAA,uCACA,WAAA,0JAAA,UAAA,MAAA,OAAA,MAAA,CAAA,IAAA,IAAA,CAAA,qRAAA,KAAA,UAAA,OAAA,MAAA,OAAA,CAAA,sBAAA,sBANJ,gCAAA,4CAUI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBlB2lEkD,4CAC1D,2CkBvmEI,wDlBsmEJ,uDkBtlEQ,QAAA,MlB4lEsD,gDAC9D,+CkBtlEI,4DlBqlEJ,2DkBjlEQ,QAAA,MAMJ,+CAAA,2DAGI,MAAA,QlBklEqD,+CAC7D,8CkBtlEI,2DlBqlEJ,0DkB7kEQ,QAAA,MAMJ,uDAAA,mEAGI,MAAA,QAHJ,+DAAA,2EAMM,aAAA,QlB+kEuD,mDACjE,kDkBtlEI,+DlBqlEJ,8DkBzkEQ,QAAA,MAZJ,uEAAA,mFAiBM,aAAA,QCnJN,iBAAA,QDkIA,qEAAA,iFAwBM,WAAA,EAAA,EAAA,EAAA,MAAA,oBAxBN,mFAAA,+FA4BM,aAAA,QAQN,iDAAA,6DAGI,aAAA,QlBqkEsD,gDAC9D,+CkBzkEI,4DlBwkEJ,2DkBhkEQ,QAAA,MARJ,uDAAA,mEAaM,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBFuEV,aACE,QAAA,YAAA,QAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,eAAA,OAAA,YAAA,OAHF,yBASI,MAAA,KJ9MA,yBIqMJ,mBAeM,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,cAAA,EAlBN,yBAuBM,QAAA,YAAA,QAAA,KACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,EA3BN,2BAgCM,QAAA,aACA,MAAA,KACA,eAAA,OAlCN,qCAuCM,QAAA,ahBigEJ,4BgBxiEF,0BA4CM,MAAA,KA5CN,yBAkDM,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,KACA,aAAA,EAtDN,+BAyDM,SAAA,SACA,kBAAA,EAAA,YAAA,EACA,WAAA,EACA,aAAA,OACA,YAAA,EA7DN,6BAiEM,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OAlEN,mCAqEM,cAAA,GIhUN,KACE,QAAA,aAEA,YAAA,IACA,MAAA,QACA,WAAA,OACA,eAAA,OACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KACA,iBAAA,YACA,OAAA,IAAA,MAAA,YCsFA,QAAA,QAAA,OpB0BI,UAAA,KoBxBJ,YAAA,IblGE,cAAA,OSCE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAKF,uCGLJ,KHMM,WAAA,MdAJ,WiBQE,MAAA,QACA,gBAAA,KAfJ,WAAA,WAoBI,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBArBJ,cAAA,cA2BI,QAAA,IAeJ,epBi0EA,wBoB/zEE,eAAA,KASA,aCrDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,oBAKJ,sBAAA,sBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,kDAAA,kDrBq2EF,mCqBl2EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDrBk2EJ,yCqB71EQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDKN,eCrDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,qBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,qBAAA,qBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,qBAKJ,wBAAA,wBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,oDAAA,oDrBu4EF,qCqBp4EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,0DAAA,0DrBo4EJ,2CqB/3EQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDKN,aCrDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,sBAAA,sBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,kDAAA,kDrBy6EF,mCqBt6EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDrBs6EJ,yCqBj6EQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDKN,UCrDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,gBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,gBAAA,gBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,oBAKJ,mBAAA,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,+CAAA,+CrB28EF,gCqBx8EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,qDAAA,qDrBw8EJ,sCqBn8EQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDKN,aCrDA,MAAA,QFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,QFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,oBAKJ,sBAAA,sBAEE,MAAA,QACA,iBAAA,QACA,aAAA,QAOF,kDAAA,kDrB6+EF,mCqB1+EI,MAAA,QACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDrB0+EJ,yCqBr+EQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDKN,YCrDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,kBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,kBAAA,kBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,qBAAA,qBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,iDAAA,iDrB+gFF,kCqB5gFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,uDAAA,uDrB4gFJ,wCqBvgFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDKN,WCrDA,MAAA,QFAE,iBAAA,QEEF,aAAA,QlBIA,iBkBAE,MAAA,QFNA,iBAAA,QEQA,aAAA,QAGF,iBAAA,iBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,qBAKJ,oBAAA,oBAEE,MAAA,QACA,iBAAA,QACA,aAAA,QAOF,gDAAA,gDrBijFF,iCqB9iFI,MAAA,QACA,iBAAA,QAIA,aAAA,QAEA,sDAAA,sDrB8iFJ,uCqBziFQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDKN,UCrDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,gBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,gBAAA,gBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,kBAKJ,mBAAA,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAOF,+CAAA,+CrBmlFF,gCqBhlFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,qDAAA,qDrBglFJ,sCqB3kFQ,WAAA,EAAA,EAAA,EAAA,MAAA,kBDWN,qBCJA,MAAA,QACA,aAAA,QlBlDA,2BkBqDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DrBykFF,2CqBtkFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gErBykFJ,iDqBpkFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBD5BN,uBCJA,MAAA,QACA,aAAA,QlBlDA,6BkBqDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,6BAAA,6BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAGF,gCAAA,gCAEE,MAAA,QACA,iBAAA,YAGF,4DAAA,4DrBymFF,6CqBtmFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,kEAAA,kErBymFJ,mDqBpmFQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBD5BN,qBCJA,MAAA,QACA,aAAA,QlBlDA,2BkBqDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DrByoFF,2CqBtoFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gErByoFJ,iDqBpoFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBD5BN,kBCJA,MAAA,QACA,aAAA,QlBlDA,wBkBqDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wBAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAGF,2BAAA,2BAEE,MAAA,QACA,iBAAA,YAGF,uDAAA,uDrByqFF,wCqBtqFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6DAAA,6DrByqFJ,8CqBpqFQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBD5BN,qBCJA,MAAA,QACA,aAAA,QlBlDA,2BkBqDE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DrBysFF,2CqBtsFI,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gErBysFJ,iDqBpsFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBD5BN,oBCJA,MAAA,QACA,aAAA,QlBlDA,0BkBqDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,0BAAA,0BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,6BAAA,6BAEE,MAAA,QACA,iBAAA,YAGF,yDAAA,yDrByuFF,0CqBtuFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,+DAAA,+DrByuFJ,gDqBpuFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBD5BN,mBCJA,MAAA,QACA,aAAA,QlBlDA,yBkBqDE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,yBAAA,yBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAGF,4BAAA,4BAEE,MAAA,QACA,iBAAA,YAGF,wDAAA,wDrBywFF,yCqBtwFI,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,8DAAA,8DrBywFJ,+CqBpwFQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBD5BN,kBCJA,MAAA,QACA,aAAA,QlBlDA,wBkBqDE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wBAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,kBAGF,2BAAA,2BAEE,MAAA,QACA,iBAAA,YAGF,uDAAA,uDrByyFF,wCqBtyFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6DAAA,6DrByyFJ,8CqBpyFQ,WAAA,EAAA,EAAA,EAAA,MAAA,kBDjBR,UACE,YAAA,IACA,MAAA,QACA,gBAAA,KjBnEA,gBiBsEE,MAAA,QACA,gBAAA,UAPJ,gBAAA,gBAYI,gBAAA,UACA,WAAA,KAbJ,mBAAA,mBAkBI,MAAA,QACA,eAAA,KAWJ,mBAAA,QCLE,QAAA,MAAA,KpB0BI,UAAA,QoBxBJ,YAAA,IblGE,cAAA,MYyGJ,mBAAA,QCTE,QAAA,OAAA,MpB0BI,UAAA,QoBxBJ,YAAA,IblGE,cAAA,MYkHJ,WACE,QAAA,MACA,MAAA,KAFF,sBAMI,WAAA,MpBszFJ,6BADA,4BoBhzFA,6BAII,MAAA,KEtIJ,MLMM,WAAA,QAAA,KAAA,OAKF,uCKXJ,MLYM,WAAA,MKZN,iBAII,QAAA,EAIJ,qBAEI,QAAA,KAIJ,YACE,SAAA,SACA,OAAA,EACA,SAAA,OLXI,WAAA,OAAA,KAAA,KAKF,uCKGJ,YLFM,WAAA,MjB48FN,UACA,UAFA,WuBt9FA,QAIE,SAAA,SAGF,iBACE,YAAA,OCoBE,wBACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAhCJ,WAAA,KAAA,MACA,aAAA,KAAA,MAAA,YACA,cAAA,EACA,YAAA,KAAA,MAAA,YAqDE,8BACE,YAAA,ED1CN,eACE,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,UAAA,MACA,QAAA,MAAA,EACA,OAAA,QAAA,EAAA,EtBsGI,UAAA,KsBpGJ,MAAA,QACA,WAAA,KACA,WAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,gBf3BE,cAAA,OeoCA,oBACE,MAAA,KACA,KAAA,EAGF,qBACE,MAAA,EACA,KAAA,KXYF,yBWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MXYF,yBWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MXYF,yBWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MXYF,0BWnBA,uBACE,MAAA,KACA,KAAA,EAGF,wBACE,MAAA,EACA,KAAA,MAON,uBAEI,IAAA,KACA,OAAA,KACA,WAAA,EACA,cAAA,QC/BA,gCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAzBJ,WAAA,EACA,aAAA,KAAA,MAAA,YACA,cAAA,KAAA,MACA,YAAA,KAAA,MAAA,YA8CE,sCACE,YAAA,EDUN,0BAEI,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,YAAA,QC7CA,mCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAlBJ,WAAA,KAAA,MAAA,YACA,aAAA,EACA,cAAA,KAAA,MAAA,YACA,YAAA,KAAA,MAuCE,yCACE,YAAA,EA7BF,mCDmDE,eAAA,EAKN,yBAEI,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,aAAA,QC9DA,kCACE,QAAA,aACA,YAAA,OACA,eAAA,OACA,QAAA,GAJF,kCAgBI,QAAA,KAGF,mCACE,QAAA,aACA,aAAA,OACA,eAAA,OACA,QAAA,GA9BN,WAAA,KAAA,MAAA,YACA,aAAA,KAAA,MACA,cAAA,KAAA,MAAA,YAiCE,wCACE,YAAA,EAVA,mCDiDA,eAAA,EAON,oCAAA,kCAAA,mCAAA,iCAKI,MAAA,KACA,OAAA,KAKJ,kBE9GE,OAAA,EACA,OAAA,MAAA,EACA,SAAA,OACA,WAAA,IAAA,MAAA,QFkHF,eACE,QAAA,MACA,MAAA,KACA,QAAA,OAAA,OACA,MAAA,KACA,YAAA,IACA,MAAA,QACA,WAAA,QACA,YAAA,OACA,iBAAA,YACA,OAAA,EpBpHA,qBAAA,qBoBmIE,MAAA,QACA,gBAAA,KJ9IA,iBAAA,QIoHJ,sBAAA,sBAgCI,MAAA,KACA,gBAAA,KJrJA,iBAAA,QIoHJ,wBAAA,wBAuCI,MAAA,QACA,eAAA,KACA,iBAAA,YAQJ,oBACE,QAAA,MAIF,iBACE,QAAA,MACA,QAAA,MAAA,OACA,cAAA,EtBpDI,UAAA,QsBsDJ,MAAA,QACA,YAAA,OAIF,oBACE,QAAA,MACA,QAAA,OAAA,OACA,MAAA,QG1LF,W1B4sGA,oB0B1sGE,SAAA,SACA,QAAA,mBAAA,QAAA,YACA,eAAA,O1BgtGF,yB0BptGA,gBAOI,SAAA,SACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,K1BmtGJ,+BGltGE,sBuBII,QAAA,E1BqtGN,gCADA,gCADA,+B0BhuGA,uBAAA,uBAAA,sBAkBM,QAAA,EAMN,aACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,cAAA,MAAA,gBAAA,WAHF,0BAMI,MAAA,K1BstGJ,wC0BltGA,kCAII,YAAA,K1BmtGJ,4C0BvtGA,uDlBhBI,wBAAA,EACA,2BAAA,ER4uGJ,6C0B7tGA,kClBFI,uBAAA,EACA,0BAAA,EkBgCJ,uBACE,cAAA,SACA,aAAA,SAFF,8B1B0sGA,yCADA,sC0BlsGI,YAAA,EAGF,yCACE,aAAA,EAIJ,0CAAA,+BACE,cAAA,QACA,aAAA,QAGF,0CAAA,+BACE,cAAA,OACA,aAAA,OAoBF,oBACE,mBAAA,OAAA,eAAA,OACA,eAAA,MAAA,YAAA,WACA,cAAA,OAAA,gBAAA,OAHF,yB1B4rGA,+B0BrrGI,MAAA,K1B0rGJ,iD0BjsGA,2CAYI,WAAA,K1B0rGJ,qD0BtsGA,gElBlFI,2BAAA,EACA,0BAAA,ER6xGJ,sD0B5sGA,2ClBhGI,uBAAA,EACA,wBAAA,EkBuIJ,uB1B0qGA,kC0BvqGI,cAAA,E1B4qGJ,4C0B/qGA,yC1BirGA,uDADA,oD0BzqGM,SAAA,SACA,KAAA,cACA,eAAA,KCzJN,aACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,QAAA,YAAA,QACA,MAAA,K3Bg1GF,0BADA,4B2Bp1GA,2B3Bm1GA,qC2Bx0GI,SAAA,SACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAGA,MAAA,GACA,cAAA,E3Bw1GJ,uCADA,yCADA,wCADA,yCADA,2CADA,0CAJA,wCADA,0C2B91GA,yC3Bk2GA,kDADA,oDADA,mD2B30GM,YAAA,K3By1GN,sEADA,kC2B72GA,iCA6BI,QAAA,EA7BJ,mDAkCI,QAAA,E3Bq1GJ,6C2Bv3GA,4CnBeI,wBAAA,EACA,2BAAA,ER62GJ,8C2B73GA,6CnB6BI,uBAAA,EACA,0BAAA,EmB9BJ,0BA8CI,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OA/CJ,8D3B04GA,qEQ33GI,wBAAA,EACA,2BAAA,EmBhBJ,+DnB6BI,uBAAA,EACA,0BAAA,ERu3GJ,oB2Bv1GA,qBAEE,QAAA,YAAA,QAAA,K3B21GF,yB2B71GA,0BAQI,SAAA,SACA,QAAA,E3B01GJ,+B2Bn2GA,gCAYM,QAAA,E3B+1GN,8BACA,2CAEA,2CADA,wD2B72GA,+B3Bw2GA,4CAEA,4CADA,yD2Br1GI,YAAA,KAIJ,qBAAuB,aAAA,KACvB,oBAAsB,YAAA,KAQtB,kBACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,QAAA,QAAA,OACA,cAAA,E1BsBI,UAAA,K0BpBJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,OACA,YAAA,OACA,iBAAA,QACA,OAAA,IAAA,MAAA,QnB5GE,cAAA,OR48GJ,uC2B52GA,oCAkBI,WAAA,E3B+1GJ,+B2Br1GA,4CAEE,OAAA,yB3Bw1GF,+B2Br1GA,8B3By1GA,yCAFA,sDACA,0CAFA,uD2Bh1GE,QAAA,MAAA,K1BbI,UAAA,Q0BeJ,YAAA,InBzIE,cAAA,MRk+GJ,+B2Br1GA,4CAEE,OAAA,0B3Bw1GF,+B2Br1GA,8B3By1GA,yCAFA,sDACA,0CAFA,uD2Bh1GE,QAAA,OAAA,M1B9BI,UAAA,Q0BgCJ,YAAA,InB1JE,cAAA,MmB8JJ,+B3Bq1GA,+B2Bn1GE,cAAA,Q3B21GF,wFACA,+EAHA,uDACA,oE2B/0GA,uC3B60GA,oDQx+GI,wBAAA,EACA,2BAAA,EmBmKJ,sC3B80GA,mDAGA,qEACA,kFAHA,yDACA,sEQt+GI,uBAAA,EACA,0BAAA,EoB3BJ,gBACE,SAAA,SACA,QAAA,MACA,WAAA,OACA,aAAA,OAGF,uBACE,QAAA,mBAAA,QAAA,YACA,aAAA,KAGF,sBACE,SAAA,SACA,QAAA,GACA,QAAA,EAHF,4DAMI,MAAA,KACA,aAAA,QTtBA,iBAAA,QSeJ,0DAiBM,WAAA,EAAA,EAAA,EAAA,MAAA,oBAjBN,wEAsBI,aAAA,QAtBJ,0EA0BI,MAAA,KACA,iBAAA,QACA,aAAA,QA5BJ,qDAkCM,MAAA,QAlCN,6DAqCQ,iBAAA,QAUR,sBACE,SAAA,SACA,cAAA,EACA,eAAA,IAHF,8BAOI,SAAA,SACA,IAAA,OACA,KAAA,QACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,eAAA,KACA,QAAA,GACA,iBAAA,KACA,OAAA,QAAA,MAAA,IAhBJ,6BAsBI,SAAA,SACA,IAAA,OACA,KAAA,QACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,QAAA,GACA,WAAA,UAAA,GAAA,CAAA,IAAA,IASJ,+CpBrGI,cAAA,OoBqGJ,4EAOM,iBAAA,4LAPN,mFAaM,aAAA,QTjHF,iBAAA,QSoGJ,kFAkBM,iBAAA,yIAlBN,sFAwBM,iBAAA,mBAxBN,4FA2BM,iBAAA,mBASN,4CAGI,cAAA,IAHJ,yEAQM,iBAAA,sIARN,mFAcM,iBAAA,mBAUN,eACE,aAAA,QADF,6CAKM,KAAA,SACA,MAAA,QACA,eAAA,IAEA,cAAA,MATN,4CAaM,IAAA,mBACA,KAAA,qBACA,MAAA,iBACA,OAAA,iBACA,iBAAA,QAEA,cAAA,MXnLA,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,WAAA,CAAA,kBAAA,KAAA,YAAA,WAAA,UAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAAA,WAAA,UAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,WAAA,CAAA,kBAAA,KAAA,YAKF,uCW2JJ,4CX1JM,WAAA,MW0JN,0EA0BM,iBAAA,KACA,kBAAA,mBAAA,UAAA,mBA3BN,oFAiCM,iBAAA,mBAYN,eACE,QAAA,aACA,MAAA,KACA,OAAA,2BACA,QAAA,QAAA,QAAA,QAAA,O3BxFI,UAAA,K2B2FJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,eAAA,OACA,WAAA,0JAAA,UAAA,MAAA,OAAA,MAAA,CAAA,IAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,QpB3NE,cAAA,OoB8NF,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAhBF,qBAmBI,aAAA,QACA,QAAA,EAIE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAxBN,gCAiCM,MAAA,QACA,iBAAA,KAlCN,yBAAA,qCAwCI,OAAA,KACA,cAAA,OACA,iBAAA,KA1CJ,wBA8CI,MAAA,QACA,iBAAA,QA/CJ,2BAoDI,QAAA,KAIJ,kBACE,OAAA,0BACA,YAAA,OACA,eAAA,OACA,aAAA,M3BhJI,UAAA,Q2BoJN,kBACE,OAAA,yBACA,YAAA,MACA,eAAA,MACA,aAAA,K3BxJI,UAAA,Q2BiKN,aACE,SAAA,SACA,QAAA,aACA,MAAA,KACA,OAAA,2BACA,cAAA,EAGF,mBACE,SAAA,SACA,QAAA,EACA,MAAA,KACA,OAAA,2BACA,OAAA,EACA,QAAA,EANF,4CASI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAVJ,+CAcI,iBAAA,QAdJ,sDAmBM,QAAA,SAnBN,0DAwBI,QAAA,kBAIJ,mBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,EACA,OAAA,2BACA,QAAA,QAAA,OAEA,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,QpB5UE,cAAA,OoB+TJ,0BAkBI,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,QAAA,EACA,QAAA,MACA,OAAA,qBACA,QAAA,QAAA,OACA,YAAA,IACA,MAAA,QACA,QAAA,ST1VA,iBAAA,QS4VA,YAAA,QpB7VA,cAAA,EAAA,OAAA,OAAA,EoBwWJ,cACE,MAAA,KACA,OAAA,mBACA,QAAA,EACA,iBAAA,YACA,mBAAA,KAAA,gBAAA,KAAA,WAAA,KALF,oBAQI,QAAA,EARJ,0CAY8B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAZ9B,sCAa8B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAb9B,+BAc8B,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAd9B,gCAkBI,OAAA,EAlBJ,oCAsBI,MAAA,KACA,OAAA,KACA,WAAA,QT/XA,iBAAA,QSiYA,OAAA,EpBlYA,cAAA,KSCE,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YWqYF,mBAAA,KAAA,WAAA,KXhYA,uCWkWJ,oCXjWM,WAAA,MWiWN,2CTvWI,iBAAA,QSuWJ,6CAsCI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YpBnZA,cAAA,KoBwWJ,gCAiDI,MAAA,KACA,OAAA,KTzZA,iBAAA,QS2ZA,OAAA,EpB5ZA,cAAA,KSCE,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YW+ZF,gBAAA,KAAA,WAAA,KX1ZA,uCWkWJ,gCXjWM,WAAA,MWiWN,uCTvWI,iBAAA,QSuWJ,gCAgEI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YpB7aA,cAAA,KoBwWJ,yBA2EI,MAAA,KACA,OAAA,KACA,WAAA,EACA,aAAA,MACA,YAAA,MTtbA,iBAAA,QSwbA,OAAA,EpBzbA,cAAA,KSCE,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YW4bF,WAAA,KXvbA,uCWkWJ,yBXjWM,WAAA,MWiWN,gCTvWI,iBAAA,QSuWJ,yBA6FI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,YACA,aAAA,YACA,aAAA,MAnGJ,8BAwGI,iBAAA,QpBhdA,cAAA,KoBwWJ,8BA6GI,aAAA,KACA,iBAAA,QpBtdA,cAAA,KoBwWJ,6CAoHM,iBAAA,QApHN,sDAwHM,OAAA,QAxHN,yCA4HM,iBAAA,QA5HN,yCAgIM,OAAA,QAhIN,kCAoIM,iBAAA,QAKN,8B5Bi9GA,mBACA,eiBl8HM,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAKF,uCW2eJ,8B5Bw9GE,mBACA,eiBn8HI,WAAA,MYPN,KACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,EACA,cAAA,EACA,WAAA,KAGF,UACE,QAAA,MACA,QAAA,MAAA,K1BCA,gBAAA,gB0BEE,gBAAA,KALJ,mBAUI,MAAA,QACA,eAAA,KACA,OAAA,QAQJ,UACE,cAAA,IAAA,MAAA,QADF,oBAII,cAAA,KAJJ,oBAQI,OAAA,IAAA,MAAA,YrB3BA,uBAAA,OACA,wBAAA,OLCF,0BAAA,0B0B6BI,aAAA,QAAA,QAAA,QAZN,6BAgBM,MAAA,QACA,iBAAA,YACA,aAAA,Y7Bm9HN,mC6Br+HA,2BAwBI,MAAA,QACA,iBAAA,KACA,aAAA,QAAA,QAAA,KA1BJ,yBA+BI,WAAA,KrBlDA,uBAAA,EACA,wBAAA,EqB4DJ,qBrBtEI,cAAA,OqBsEJ,4B7B48HA,2B6Br8HI,MAAA,KACA,iBAAA,QASJ,oBAEI,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,WAAA,OAIJ,yBAEI,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,WAAA,OASJ,uBAEI,QAAA,KAFJ,qBAKI,QAAA,MCpGJ,QACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,QAAA,gBAAA,cACA,QAAA,MAAA,KANF,mB9B+iIA,yB8BniII,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,QAAA,gBAAA,cASJ,cACE,QAAA,aACA,YAAA,SACA,eAAA,SACA,aAAA,K7BkFI,UAAA,Q6BhFJ,YAAA,QACA,YAAA,O3BhCA,oBAAA,oB2BmCE,gBAAA,KASJ,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,aAAA,EACA,cAAA,EACA,WAAA,KALF,sBAQI,cAAA,EACA,aAAA,EATJ,2BAaI,SAAA,OACA,MAAA,KASJ,aACE,QAAA,aACA,YAAA,MACA,eAAA,MAYF,iBACE,wBAAA,KAAA,WAAA,KACA,kBAAA,EAAA,UAAA,EAGA,eAAA,OAAA,YAAA,OAIF,gBACE,QAAA,OAAA,O7BmBI,UAAA,Q6BjBJ,YAAA,EACA,iBAAA,YACA,OAAA,IAAA,MAAA,YtB3GE,cAAA,OLWF,sBAAA,sB2BoGE,gBAAA,KAMJ,qBACE,QAAA,aACA,MAAA,MACA,OAAA,MACA,eAAA,OACA,QAAA,GACA,WAAA,UAAA,OAAA,OACA,gBAAA,KAAA,KlBxDE,4BkBkEC,6B9B0gIH,mC8BtgIQ,cAAA,EACA,aAAA,GlBpFN,yBkB+EA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXH,8BAcK,mBAAA,IAAA,eAAA,IAdL,6CAiBO,SAAA,SAjBP,wCAqBO,cAAA,MACA,aAAA,MAtBP,6B9BmiIH,mC8BtgIQ,cAAA,OAAA,UAAA,OA7BL,mCAiCK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCL,kCAwCK,QAAA,MlB1GN,4BkBkEC,6B9BojIH,mC8BhjIQ,cAAA,EACA,aAAA,GlBpFN,yBkB+EA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXH,8BAcK,mBAAA,IAAA,eAAA,IAdL,6CAiBO,SAAA,SAjBP,wCAqBO,cAAA,MACA,aAAA,MAtBP,6B9B6kIH,mC8BhjIQ,cAAA,OAAA,UAAA,OA7BL,mCAiCK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCL,kCAwCK,QAAA,MlB1GN,4BkBkEC,6B9B8lIH,mC8B1lIQ,cAAA,EACA,aAAA,GlBpFN,yBkB+EA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXH,8BAcK,mBAAA,IAAA,eAAA,IAdL,6CAiBO,SAAA,SAjBP,wCAqBO,cAAA,MACA,aAAA,MAtBP,6B9BunIH,mC8B1lIQ,cAAA,OAAA,UAAA,OA7BL,mCAiCK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCL,kCAwCK,QAAA,MlB1GN,6BkBkEC,6B9BwoIH,mC8BpoIQ,cAAA,EACA,aAAA,GlBpFN,0BkB+EA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXH,8BAcK,mBAAA,IAAA,eAAA,IAdL,6CAiBO,SAAA,SAjBP,wCAqBO,cAAA,MACA,aAAA,MAtBP,6B9BiqIH,mC8BpoIQ,cAAA,OAAA,UAAA,OA7BL,mCAiCK,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCL,kCAwCK,QAAA,MA7CV,eAeQ,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAhBR,0B9B6rIA,gC8BprIU,cAAA,EACA,aAAA,EAVV,2BAmBU,mBAAA,IAAA,eAAA,IAnBV,0CAsBY,SAAA,SAtBZ,qCA0BY,cAAA,MACA,aAAA,MA3BZ,0B9BitIA,gC8B/qIU,cAAA,OAAA,UAAA,OAlCV,gCAsCU,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KAzCV,+BA6CU,QAAA,KAaV,4BAEI,MAAA,e3BlLF,kCAAA,kC2BqLI,MAAA,eALN,oCAWM,MAAA,e3B3LJ,0CAAA,0C2B8LM,MAAA,eAdR,6CAkBQ,MAAA,e9B0qIR,4CAEA,2CADA,yC8B7rIA,0CA0BM,MAAA,eA1BN,8BA+BI,MAAA,eACA,aAAA,eAhCJ,mCAoCI,iBAAA,uOApCJ,2BAwCI,MAAA,eAxCJ,6BA0CM,MAAA,e3B1NJ,mCAAA,mC2B6NM,MAAA,eAOR,2BAEI,MAAA,K3BtOF,iCAAA,iC2ByOI,MAAA,KALN,mCAWM,MAAA,qB3B/OJ,yCAAA,yC2BkPM,MAAA,sBAdR,4CAkBQ,MAAA,sB9BsqIR,2CAEA,0CADA,wC8BzrIA,yCA0BM,MAAA,KA1BN,6BA+BI,MAAA,qBACA,aAAA,qBAhCJ,kCAoCI,iBAAA,6OApCJ,0BAwCI,MAAA,qBAxCJ,4BA0CM,MAAA,K3B9QJ,kCAAA,kC2BiRM,MAAA,KC7RR,MACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,UAAA,EACA,UAAA,WACA,iBAAA,KACA,gBAAA,WACA,OAAA,IAAA,MAAA,iBvBPE,cAAA,OuBDJ,SAYI,aAAA,EACA,YAAA,EAbJ,2DvBUI,uBAAA,OACA,wBAAA,OuBXJ,yDvBwBI,2BAAA,OACA,0BAAA,OuBIJ,WAGE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,QAAA,QAIF,YACE,cAAA,OAGF,eACE,WAAA,SACA,cAAA,EAGF,sBACE,cAAA,E5BvCA,iB4B4CE,gBAAA,KAFJ,sBAMI,YAAA,QAQJ,aACE,QAAA,OAAA,QACA,cAAA,EAEA,iBAAA,gBACA,cAAA,IAAA,MAAA,iBALF,yBvB/DI,cAAA,mBAAA,mBAAA,EAAA,EuB+DJ,sDAaM,WAAA,EAKN,aACE,QAAA,OAAA,QACA,iBAAA,gBACA,WAAA,IAAA,MAAA,iBAHF,wBvBjFI,cAAA,EAAA,EAAA,mBAAA,mBuBgGJ,kBACE,aAAA,SACA,cAAA,QACA,YAAA,SACA,cAAA,EAGF,mBACE,aAAA,SACA,YAAA,SAIF,kBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,QAGF,UACE,MAAA,KvBvHE,cAAA,mBuB4HJ,cACE,MAAA,KvBpHE,uBAAA,mBACA,wBAAA,mBuBuHJ,iBACE,MAAA,KvB3GE,2BAAA,mBACA,0BAAA,mBuBiHJ,WACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAFF,iBAKI,cAAA,KnBvFA,yBmBkFJ,WASI,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,aAAA,MACA,YAAA,MAXJ,iBAcM,QAAA,YAAA,QAAA,KAEA,SAAA,EAAA,EAAA,GAAA,KAAA,EAAA,EAAA,GACA,mBAAA,OAAA,eAAA,OACA,aAAA,KACA,cAAA,EACA,YAAA,MAUN,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAFF,kBAOI,cAAA,KnBvHA,yBmBgHJ,YAWI,cAAA,IAAA,KAAA,UAAA,IAAA,KAXJ,kBAgBM,SAAA,EAAA,EAAA,GAAA,KAAA,EAAA,EAAA,GACA,cAAA,EAjBN,wBAoBQ,YAAA,EACA,YAAA,EArBR,mCvBvJI,wBAAA,EACA,2BAAA,ERqmJF,gD+B/8IF,iDAgCY,wBAAA,E/Bm7IV,gD+Bn9IF,oDAqCY,2BAAA,EArCZ,oCvBzII,uBAAA,EACA,0BAAA,ERmmJF,iD+B39IF,kDA+CY,uBAAA,E/Bg7IV,iD+B/9IF,qDAoDY,0BAAA,GAaZ,oBAEI,cAAA,OnBnLA,yBmBiLJ,cAMI,qBAAA,EAAA,kBAAA,EAAA,aAAA,EACA,mBAAA,QAAA,gBAAA,QAAA,WAAA,QACA,QAAA,EACA,OAAA,EATJ,oBAYM,QAAA,aACA,MAAA,MAUN,iBAEI,SAAA,OAFJ,8DvB/PI,cAAA,EuB+PJ,wDAUQ,cAAA,EvBzQJ,cAAA,EuB+PJ,+BAgBM,cAAA,EvBxPF,2BAAA,EACA,0BAAA,EuBuOJ,8BvBtPI,uBAAA,EACA,wBAAA,EuBqPJ,8BAyBM,cAAA,KC7RN,YACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,QAAA,OAAA,KACA,cAAA,KACA,WAAA,KACA,iBAAA,QxBDE,cAAA,OwBKJ,kCAGI,aAAA,MAHJ,0CAMM,QAAA,aACA,cAAA,MACA,MAAA,QACA,QAAA,IATN,gDAoBI,gBAAA,UApBJ,gDAwBI,gBAAA,KAxBJ,wBA4BI,MAAA,QCtCJ,YACE,QAAA,YAAA,QAAA,K5BGA,aAAA,EACA,WAAA,KGAE,cAAA,OyBCJ,WACE,SAAA,SACA,QAAA,MACA,QAAA,MAAA,OACA,YAAA,KACA,YAAA,KACA,MAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,QARF,iBAWI,QAAA,EACA,MAAA,QACA,gBAAA,KACA,iBAAA,QACA,aAAA,QAfJ,iBAmBI,QAAA,EACA,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAIJ,kCAGM,YAAA,EzBCF,uBAAA,OACA,0BAAA,OyBLJ,iCzBVI,wBAAA,OACA,2BAAA,OyBSJ,6BAcI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAjBJ,+BAqBI,MAAA,QACA,eAAA,KAEA,OAAA,KACA,iBAAA,KACA,aAAA,QCtDF,0BACE,QAAA,OAAA,OjC2HE,UAAA,QiCzHF,YAAA,IAKE,iD1BwBF,uBAAA,MACA,0BAAA,M0BpBE,gD1BKF,wBAAA,MACA,2BAAA,M0BnBF,0BACE,QAAA,OAAA,MjC2HE,UAAA,QiCzHF,YAAA,IAKE,iD1BwBF,uBAAA,MACA,0BAAA,M0BpBE,gD1BKF,wBAAA,MACA,2BAAA,M2BjBJ,OACE,QAAA,aACA,QAAA,MAAA,KlCiEE,UAAA,IkC/DF,YAAA,IACA,YAAA,EACA,WAAA,OACA,YAAA,OACA,eAAA,S3BRE,cAAA,OSCE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAKF,uCkBNJ,OlBOM,WAAA,MdIJ,cAAA,cgCGI,gBAAA,KAdN,aAoBI,QAAA,KAKJ,YACE,SAAA,SACA,IAAA,KAOF,YACE,cAAA,KACA,aAAA,K3BpCE,cAAA,M2B6CF,eCjDA,MAAA,KACA,iBAAA,QjCcA,sBAAA,sBiCVI,MAAA,KACA,iBAAA,QAHI,sBAAA,sBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,iBCjDA,MAAA,KACA,iBAAA,QjCcA,wBAAA,wBiCVI,MAAA,KACA,iBAAA,QAHI,wBAAA,wBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,qBDqCJ,eCjDA,MAAA,KACA,iBAAA,QjCcA,sBAAA,sBiCVI,MAAA,KACA,iBAAA,QAHI,sBAAA,sBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,YCjDA,MAAA,KACA,iBAAA,QjCcA,mBAAA,mBiCVI,MAAA,KACA,iBAAA,QAHI,mBAAA,mBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBDqCJ,eCjDA,MAAA,QACA,iBAAA,QjCcA,sBAAA,sBiCVI,MAAA,QACA,iBAAA,QAHI,sBAAA,sBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,cCjDA,MAAA,KACA,iBAAA,QjCcA,qBAAA,qBiCVI,MAAA,KACA,iBAAA,QAHI,qBAAA,qBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,mBDqCJ,aCjDA,MAAA,QACA,iBAAA,QjCcA,oBAAA,oBiCVI,MAAA,QACA,iBAAA,QAHI,oBAAA,oBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,qBDqCJ,YCjDA,MAAA,KACA,iBAAA,QjCcA,mBAAA,mBiCVI,MAAA,KACA,iBAAA,QAHI,mBAAA,mBAQJ,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,kBCbN,WACE,QAAA,KAAA,KACA,cAAA,KAEA,iBAAA,Q7BCE,cAAA,MIuDA,yByB5DJ,WAQI,QAAA,KAAA,MAIJ,iBACE,cAAA,EACA,aAAA,E7BTE,cAAA,E8BDJ,OACE,SAAA,SACA,QAAA,OAAA,QACA,cAAA,KACA,OAAA,IAAA,MAAA,Y9BHE,cAAA,O8BQJ,eAEE,MAAA,QAIF,YACE,YAAA,IAQF,mBACE,cAAA,KADF,0BAKI,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,OAAA,QACA,MAAA,QAUF,eC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDqCF,iBC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,oBACE,iBAAA,QAGF,6BACE,MAAA,QDqCF,eC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDqCF,YC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,eACE,iBAAA,QAGF,wBACE,MAAA,QDqCF,eC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDqCF,cC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,iBACE,iBAAA,QAGF,0BACE,MAAA,QDqCF,aC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,gBACE,iBAAA,QAGF,yBACE,MAAA,QDqCF,YC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,eACE,iBAAA,QAGF,wBACE,MAAA,QCRF,wCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAFP,gCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAIT,UACE,QAAA,YAAA,QAAA,KACA,OAAA,KACA,SAAA,OvCoHI,UAAA,OuClHJ,iBAAA,QhCRE,cAAA,OgCaJ,cACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,iBAAA,QvBnBI,WAAA,MAAA,IAAA,KAKF,uCuBOJ,cvBNM,WAAA,MuBiBN,sBrBcE,iBAAA,iKqBZA,gBAAA,KAAA,KAIA,uBACE,kBAAA,qBAAA,GAAA,OAAA,SAAA,UAAA,qBAAA,GAAA,OAAA,SAEA,uCAHF,uBAII,kBAAA,KAAA,UAAA,MCvCN,OACE,QAAA,YAAA,QAAA,KACA,eAAA,MAAA,YAAA,WAGF,YACE,SAAA,EAAA,KAAA,ECFF,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAGA,aAAA,EACA,cAAA,EASF,wBACE,MAAA,KACA,MAAA,QACA,WAAA,QvCNA,8BAAA,8BuCUE,QAAA,EACA,MAAA,QACA,gBAAA,KACA,iBAAA,QAVJ,+BAcI,MAAA,QACA,iBAAA,QASJ,iBACE,SAAA,SACA,QAAA,MACA,QAAA,OAAA,QAEA,cAAA,KAEA,iBAAA,KACA,OAAA,IAAA,MAAA,iBARF,6BlC7BI,uBAAA,OACA,wBAAA,OkC4BJ,4BAeI,cAAA,ElC9BA,2BAAA,OACA,0BAAA,OkCcJ,0BAAA,0BAqBI,MAAA,QACA,eAAA,KACA,iBAAA,KAvBJ,wBA4BI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAaA,uBACE,mBAAA,IAAA,eAAA,IADF,wCAII,aAAA,KACA,cAAA,EALJ,oDlCpDA,uBAAA,OACA,0BAAA,OAYA,wBAAA,EkCuCA,mDAaM,aAAA,ElC/EN,wBAAA,OACA,2BAAA,OAsCA,0BAAA,EIAA,yB8B2BA,0BACE,mBAAA,IAAA,eAAA,IADF,2CAII,aAAA,KACA,cAAA,EALJ,uDlCpDA,uBAAA,OACA,0BAAA,OAYA,wBAAA,EkCuCA,sDAaM,aAAA,ElC/EN,wBAAA,OACA,2BAAA,OAsCA,0BAAA,GIAA,yB8B2BA,0BACE,mBAAA,IAAA,eAAA,IADF,2CAII,aAAA,KACA,cAAA,EALJ,uDlCpDA,uBAAA,OACA,0BAAA,OAYA,wBAAA,EkCuCA,sDAaM,aAAA,ElC/EN,wBAAA,OACA,2BAAA,OAsCA,0BAAA,GIAA,yB8B2BA,0BACE,mBAAA,IAAA,eAAA,IADF,2CAII,aAAA,KACA,cAAA,EALJ,uDlCpDA,uBAAA,OACA,0BAAA,OAYA,wBAAA,EkCuCA,sDAaM,aAAA,ElC/EN,wBAAA,OACA,2BAAA,OAsCA,0BAAA,GIAA,0B8B2BA,0BACE,mBAAA,IAAA,eAAA,IADF,2CAII,aAAA,KACA,cAAA,EALJ,uDlCpDA,uBAAA,OACA,0BAAA,OAYA,wBAAA,EkCuCA,sDAaM,aAAA,ElC/EN,wBAAA,OACA,2BAAA,OAsCA,0BAAA,GkCuDJ,mCAEI,aAAA,EACA,YAAA,ElCjHA,cAAA,EkC8GJ,8CAOM,cAAA,KAPN,2DAaM,WAAA,EAbN,yDAmBM,cAAA,EACA,cAAA,ECpIJ,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,2BACE,MAAA,QACA,iBAAA,QxCWF,wDAAA,wDwCPM,MAAA,QACA,iBAAA,QAPN,yDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,sBACE,MAAA,QACA,iBAAA,QxCWF,mDAAA,mDwCPM,MAAA,QACA,iBAAA,QAPN,oDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,wBACE,MAAA,QACA,iBAAA,QxCWF,qDAAA,qDwCPM,MAAA,QACA,iBAAA,QAPN,sDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,uBACE,MAAA,QACA,iBAAA,QxCWF,oDAAA,oDwCPM,MAAA,QACA,iBAAA,QAPN,qDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,sBACE,MAAA,QACA,iBAAA,QxCWF,mDAAA,mDwCPM,MAAA,QACA,iBAAA,QAPN,oDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QChBR,OACE,MAAA,M3C8HI,UAAA,O2C5HJ,YAAA,IACA,YAAA,EACA,MAAA,KACA,YAAA,EAAA,IAAA,EAAA,KACA,QAAA,GzCKA,ayCDE,MAAA,KACA,gBAAA,KzCIF,2CAAA,2CyCCI,QAAA,IAWN,aACE,QAAA,EACA,iBAAA,YACA,OAAA,EACA,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAMF,iBACE,eAAA,KCvCF,OACE,UAAA,MACA,SAAA,O5C6HI,UAAA,Q4C1HJ,iBAAA,sBACA,gBAAA,YACA,OAAA,IAAA,MAAA,eACA,WAAA,EAAA,OAAA,OAAA,eACA,wBAAA,WAAA,gBAAA,WACA,QAAA,ErCLE,cAAA,OqCLJ,wBAcI,cAAA,OAdJ,eAkBI,QAAA,EAlBJ,YAsBI,QAAA,MACA,QAAA,EAvBJ,YA2BI,QAAA,KAIJ,cACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,QAAA,OAAA,OACA,MAAA,QACA,iBAAA,sBACA,gBAAA,YACA,cAAA,IAAA,MAAA,gBAGF,YACE,QAAA,OCpCF,YAEE,SAAA,OAFF,mBAKI,WAAA,OACA,WAAA,KAKJ,OACE,SAAA,MACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,OAAA,KACA,SAAA,OAGA,QAAA,EAOF,cACE,SAAA,SACA,MAAA,KACA,OAAA,MAEA,eAAA,KAGA,0B7BrCI,WAAA,kBAAA,IAAA,SAAA,WAAA,UAAA,IAAA,SAAA,WAAA,UAAA,IAAA,QAAA,CAAA,kBAAA,IAAA,S6BuCF,kBAAA,mBAAA,UAAA,mB7BlCA,uC6BgCF,0B7B/BI,WAAA,M6BmCJ,0BACE,kBAAA,KAAA,UAAA,KAIJ,yBACE,QAAA,YAAA,QAAA,KACA,WAAA,kBAFF,wCAKI,WAAA,mBACA,SAAA,O9CulLJ,uC8C7lLA,uCAWI,kBAAA,EAAA,YAAA,EAXJ,qCAeI,WAAA,KAIJ,uBACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,WAAA,kBAHF,+BAOI,QAAA,MACA,OAAA,mBACA,QAAA,GATJ,+CAcI,mBAAA,OAAA,eAAA,OACA,cAAA,OAAA,gBAAA,OACA,OAAA,KAhBJ,8DAmBM,WAAA,KAnBN,uDAuBM,QAAA,KAMN,eACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,MAAA,KAGA,eAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,etCzGE,cAAA,MsC6GF,QAAA,EAIF,gBACE,SAAA,MACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,MAAA,MACA,OAAA,MACA,iBAAA,KAPF,qBAUW,QAAA,EAVX,qBAWW,QAAA,GAKX,cACE,QAAA,YAAA,QAAA,KACA,eAAA,MAAA,YAAA,WACA,cAAA,QAAA,gBAAA,cACA,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,QtC7HE,uBAAA,MACA,wBAAA,MsCuHJ,qBASI,QAAA,KAAA,KAEA,OAAA,MAAA,MAAA,MAAA,KAKJ,aACE,cAAA,EACA,YAAA,IAKF,YACE,SAAA,SAGA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,QAAA,KAIF,cACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,IAAA,gBAAA,SACA,QAAA,KACA,WAAA,IAAA,MAAA,QtC/IE,2BAAA,MACA,0BAAA,MsCyIJ,iCASyB,YAAA,OATzB,gCAUwB,aAAA,OAIxB,yBACE,SAAA,SACA,IAAA,QACA,MAAA,KACA,OAAA,KACA,SAAA,OlC7HE,yBkCzBJ,cA6JI,UAAA,MACA,OAAA,QAAA,KA7IJ,yBAiJI,WAAA,oBAjJJ,wCAoJM,WAAA,qBAjIN,uBAsII,WAAA,oBAtIJ,+BAyIM,OAAA,qBAQJ,UAAY,UAAA,OlC5JV,yBkCgKF,U9CglLA,U8C9kLE,UAAA,OlClKA,0BkCuKF,UAAY,UAAA,QClOd,SACE,SAAA,SACA,QAAA,KACA,QAAA,MACA,OAAA,ECJA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,K/CgHI,UAAA,Q8CpHJ,UAAA,WACA,QAAA,EAXF,cAaW,QAAA,GAbX,gBAgBI,SAAA,SACA,QAAA,MACA,MAAA,MACA,OAAA,MAnBJ,wBAsBM,SAAA,SACA,QAAA,GACA,aAAA,YACA,aAAA,MAKN,mCAAA,gBACE,QAAA,MAAA,EADF,0CAAA,uBAII,OAAA,EAJJ,kDAAA,+BAOM,IAAA,EACA,aAAA,MAAA,MAAA,EACA,iBAAA,KAKN,qCAAA,kBACE,QAAA,EAAA,MADF,4CAAA,yBAII,KAAA,EACA,MAAA,MACA,OAAA,MANJ,oDAAA,iCASM,MAAA,EACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,KAKN,sCAAA,mBACE,QAAA,MAAA,EADF,6CAAA,0BAII,IAAA,EAJJ,qDAAA,kCAOM,OAAA,EACA,aAAA,EAAA,MAAA,MACA,oBAAA,KAKN,oCAAA,iBACE,QAAA,EAAA,MADF,2CAAA,wBAII,MAAA,EACA,MAAA,MACA,OAAA,MANJ,mDAAA,gCASM,KAAA,EACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,KAqBN,eACE,UAAA,MACA,QAAA,OAAA,MACA,MAAA,KACA,WAAA,OACA,iBAAA,KvC3GE,cAAA,OyCLJ,SACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,MACA,UAAA,MDLA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,K/CgHI,UAAA,QgDnHJ,UAAA,WACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,ezCVE,cAAA,MyCLJ,gBAoBI,SAAA,SACA,QAAA,MACA,MAAA,KACA,OAAA,MACA,OAAA,EAAA,MAxBJ,uBAAA,wBA4BM,SAAA,SACA,QAAA,MACA,QAAA,GACA,aAAA,YACA,aAAA,MAKN,mCAAA,gBACE,cAAA,MADF,0CAAA,uBAII,OAAA,yBAJJ,kDAAA,+BAOM,OAAA,EACA,aAAA,MAAA,MAAA,EACA,iBAAA,gBATN,iDAAA,8BAaM,OAAA,IACA,aAAA,MAAA,MAAA,EACA,iBAAA,KAKN,qCAAA,kBACE,YAAA,MADF,4CAAA,yBAII,KAAA,yBACA,MAAA,MACA,OAAA,KACA,OAAA,MAAA,EAPJ,oDAAA,iCAUM,KAAA,EACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,gBAZN,mDAAA,gCAgBM,KAAA,IACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,KAKN,sCAAA,mBACE,WAAA,MADF,6CAAA,0BAII,IAAA,yBAJJ,qDAAA,kCAOM,IAAA,EACA,aAAA,EAAA,MAAA,MAAA,MACA,oBAAA,gBATN,oDAAA,iCAaM,IAAA,IACA,aAAA,EAAA,MAAA,MAAA,MACA,oBAAA,KAfN,8DAAA,2CAqBI,SAAA,SACA,IAAA,EACA,KAAA,IACA,QAAA,MACA,MAAA,KACA,YAAA,OACA,QAAA,GACA,cAAA,IAAA,MAAA,QAIJ,oCAAA,iBACE,aAAA,MADF,2CAAA,wBAII,MAAA,yBACA,MAAA,MACA,OAAA,KACA,OAAA,MAAA,EAPJ,mDAAA,gCAUM,MAAA,EACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,gBAZN,kDAAA,+BAgBM,MAAA,IACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,KAsBN,gBACE,QAAA,MAAA,OACA,cAAA,EhD3BI,UAAA,KgD8BJ,iBAAA,QACA,cAAA,IAAA,MAAA,QzChJE,uBAAA,kBACA,wBAAA,kByCyIJ,sBAWI,QAAA,KAIJ,cACE,QAAA,MAAA,OACA,MAAA,QC5JF,UACE,SAAA,SAGF,wBACE,iBAAA,MAAA,aAAA,MAGF,gBACE,SAAA,SACA,MAAA,KACA,SAAA,OCvBA,uBACE,QAAA,MACA,MAAA,KACA,QAAA,GDwBJ,eACE,SAAA,SACA,QAAA,KACA,MAAA,KACA,MAAA,KACA,aAAA,MACA,4BAAA,OAAA,oBAAA,OjC5BI,WAAA,kBAAA,IAAA,YAAA,WAAA,UAAA,IAAA,YAAA,WAAA,UAAA,IAAA,WAAA,CAAA,kBAAA,IAAA,YAKF,uCiCiBJ,ejChBM,WAAA,MjBomMN,oBACA,oBkD3kMA,sBAGE,QAAA,MlD6kMF,4BkD1kMA,6CAEE,kBAAA,iBAAA,UAAA,iBlD8kMF,2BkD3kMA,8CAEE,kBAAA,kBAAA,UAAA,kBAQF,8BAEI,QAAA,EACA,oBAAA,QACA,kBAAA,KAAA,UAAA,KlD0kMJ,sDACA,uDkD/kMA,qCAUI,QAAA,EACA,QAAA,EAXJ,0ClDqlMA,2CkDrkMI,QAAA,EACA,QAAA,EjCtEE,WAAA,GAAA,IAAA,QAKF,uCiCgDJ,0ClD6lME,2CiB5oMI,WAAA,MjBkpMN,uBkDxkMA,uBAEE,SAAA,SACA,IAAA,EACA,OAAA,EACA,QAAA,EAEA,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,IACA,MAAA,KACA,WAAA,OACA,QAAA,GjC7FI,WAAA,QAAA,KAAA,KAKF,uCjBuqMF,uBkD5lMF,uBjC1EM,WAAA,MjB6qMN,6BADA,6BGxqME,6BAAA,6B+CwFE,MAAA,KACA,gBAAA,KACA,QAAA,EACA,QAAA,GAGJ,uBACE,KAAA,EAKF,uBACE,MAAA,ElDolMF,4BkD7kMA,4BAEE,QAAA,aACA,MAAA,KACA,OAAA,KACA,WAAA,UAAA,GAAA,CAAA,KAAA,KAEF,4BACE,iBAAA,kLAEF,4BACE,iBAAA,kLASF,qBACE,SAAA,SACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,GACA,QAAA,YAAA,QAAA,KACA,cAAA,OAAA,gBAAA,OACA,aAAA,EAEA,aAAA,IACA,YAAA,IACA,WAAA,KAZF,wBAeI,WAAA,YACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,OAAA,IACA,aAAA,IACA,YAAA,IACA,YAAA,OACA,OAAA,QACA,iBAAA,KACA,gBAAA,YAEA,WAAA,KAAA,MAAA,YACA,cAAA,KAAA,MAAA,YACA,QAAA,GjCtKE,WAAA,QAAA,IAAA,KAKF,uCiCqIJ,wBjCpIM,WAAA,MiCoIN,6BAiCI,QAAA,EASJ,kBACE,SAAA,SACA,MAAA,IACA,OAAA,KACA,KAAA,IACA,QAAA,GACA,YAAA,KACA,eAAA,KACA,MAAA,KACA,WAAA,OE/LF,kCACE,GAAK,kBAAA,eAAA,UAAA,gBADP,0BACE,GAAK,kBAAA,eAAA,UAAA,gBAGP,gBACE,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,YACA,OAAA,MAAA,MAAA,aACA,mBAAA,YAEA,cAAA,IACA,kBAAA,eAAA,KAAA,OAAA,SAAA,UAAA,eAAA,KAAA,OAAA,SAGF,mBACE,MAAA,KACA,OAAA,KACA,aAAA,KAOF,gCACE,GACE,kBAAA,SAAA,UAAA,SAEF,IACE,QAAA,GALJ,wBACE,GACE,kBAAA,SAAA,UAAA,SAEF,IACE,QAAA,GAIJ,cACE,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,YACA,iBAAA,aAEA,cAAA,IACA,QAAA,EACA,kBAAA,aAAA,KAAA,OAAA,SAAA,UAAA,aAAA,KAAA,OAAA,SAGF,iBACE,MAAA,KACA,OAAA,KCnDF,gBAAqB,eAAA,mBACrB,WAAqB,eAAA,cACrB,cAAqB,eAAA,iBACrB,cAAqB,eAAA,iBACrB,mBAAqB,eAAA,sBACrB,gBAAqB,eAAA,mBCFnB,YACE,iBAAA,kBnDUF,mBAAA,mBHm2MF,wBADA,wBsDv2MM,iBAAA,kBANJ,cACE,iBAAA,kBnDUF,qBAAA,qBH62MF,0BADA,0BsDj3MM,iBAAA,kBANJ,YACE,iBAAA,kBnDUF,mBAAA,mBHu3MF,wBADA,wBsD33MM,iBAAA,kBANJ,SACE,iBAAA,kBnDUF,gBAAA,gBHi4MF,qBADA,qBsDr4MM,iBAAA,kBANJ,YACE,iBAAA,kBnDUF,mBAAA,mBH24MF,wBADA,wBsD/4MM,iBAAA,kBANJ,WACE,iBAAA,kBnDUF,kBAAA,kBHq5MF,uBADA,uBsDz5MM,iBAAA,kBANJ,UACE,iBAAA,kBnDUF,iBAAA,iBH+5MF,sBADA,sBsDn6MM,iBAAA,kBANJ,SACE,iBAAA,kBnDUF,gBAAA,gBHy6MF,qBADA,qBsD76MM,iBAAA,kBCCN,UACE,iBAAA,eAGF,gBACE,iBAAA,sBCXF,QAAkB,OAAA,IAAA,MAAA,kBAClB,YAAkB,WAAA,IAAA,MAAA,kBAClB,cAAkB,aAAA,IAAA,MAAA,kBAClB,eAAkB,cAAA,IAAA,MAAA,kBAClB,aAAkB,YAAA,IAAA,MAAA,kBAElB,UAAmB,OAAA,YACnB,cAAmB,WAAA,YACnB,gBAAmB,aAAA,YACnB,iBAAmB,cAAA,YACnB,eAAmB,YAAA,YAGjB,gBACE,aAAA,kBADF,kBACE,aAAA,kBADF,gBACE,aAAA,kBADF,aACE,aAAA,kBADF,gBACE,aAAA,kBADF,eACE,aAAA,kBADF,cACE,aAAA,kBADF,aACE,aAAA,kBAIJ,cACE,aAAA,eAOF,YACE,cAAA,gBAGF,SACE,cAAA,iBAGF,aACE,uBAAA,iBACA,wBAAA,iBAGF,eACE,wBAAA,iBACA,2BAAA,iBAGF,gBACE,2BAAA,iBACA,0BAAA,iBAGF,cACE,uBAAA,iBACA,0BAAA,iBAGF,YACE,cAAA,gBAGF,gBACE,cAAA,cAGF,cACE,cAAA,gBAGF,WACE,cAAA,YLxEA,iBACE,QAAA,MACA,MAAA,KACA,QAAA,GMOE,QAAwB,QAAA,eAAxB,UAAwB,QAAA,iBAAxB,gBAAwB,QAAA,uBAAxB,SAAwB,QAAA,gBAAxB,SAAwB,QAAA,gBAAxB,aAAwB,QAAA,oBAAxB,cAAwB,QAAA,qBAAxB,QAAwB,QAAA,sBAAA,QAAA,eAAxB,eAAwB,QAAA,6BAAA,QAAA,sB7CiD1B,yB6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uB7CiD1B,yB6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uB7CiD1B,yB6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uB7CiD1B,0B6CjDE,WAAwB,QAAA,eAAxB,aAAwB,QAAA,iBAAxB,mBAAwB,QAAA,uBAAxB,YAAwB,QAAA,gBAAxB,YAAwB,QAAA,gBAAxB,gBAAwB,QAAA,oBAAxB,iBAAwB,QAAA,qBAAxB,WAAwB,QAAA,sBAAA,QAAA,eAAxB,kBAAwB,QAAA,6BAAA,QAAA,uBAU9B,aAEI,cAAqB,QAAA,eAArB,gBAAqB,QAAA,iBAArB,sBAAqB,QAAA,uBAArB,eAAqB,QAAA,gBAArB,eAAqB,QAAA,gBAArB,mBAAqB,QAAA,oBAArB,oBAAqB,QAAA,qBAArB,cAAqB,QAAA,sBAAA,QAAA,eAArB,qBAAqB,QAAA,6BAAA,QAAA,uBCrBzB,kBACE,SAAA,SACA,QAAA,MACA,MAAA,KACA,QAAA,EACA,SAAA,OALF,0BAQI,QAAA,MACA,QAAA,GATJ,yC1DsxNA,wBADA,yBAEA,yBACA,wB0DvwNI,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,KACA,OAAA,KACA,OAAA,EAQF,gCAEI,YAAA,WAFJ,gCAEI,YAAA,OAFJ,+BAEI,YAAA,IAFJ,+BAEI,YAAA,KCzBF,UAAgC,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,cAAA,eAAA,UAAA,eAC9B,aAA8B,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,cAAA,uBAAA,UAAA,uBAC9B,WAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAE9B,uBAAoC,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,eAAA,cAAA,YAAA,mBACjC,oBAAiC,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,oBAAA,eAAA,WAAA,eAChC,kBAAgC,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,oBAAA,iBAAA,WAAA,iBAChC,qBAAgC,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,oBAAA,kBAAA,WAAA,kB/CYhC,yB+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB/CYhC,yB+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB/CYhC,yB+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB/CYhC,0B+ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBC1ChC,YAAwB,MAAA,eACxB,aAAwB,MAAA,gBACxB,YAAwB,MAAA,ehDoDxB,yBgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBhDoDxB,yBgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBhDoDxB,yBgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBhDoDxB,0BgDtDA,eAAwB,MAAA,eACxB,gBAAwB,MAAA,gBACxB,eAAwB,MAAA,gBCL1B,eAAsB,SAAA,eAAtB,iBAAsB,SAAA,iBCCtB,iBAAyB,SAAA,iBAAzB,mBAAyB,SAAA,mBAAzB,mBAAyB,SAAA,mBAAzB,gBAAyB,SAAA,gBAAzB,iBAAyB,SAAA,yBAAA,SAAA,iBAK3B,WACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,KAGF,cACE,SAAA,MACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KAI4B,2DAD9B,YAEI,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MCzBJ,SCEE,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EACA,SAAA,OACA,KAAA,cACA,YAAA,OACA,OAAA,EAUA,0BAAA,yBAEE,SAAA,OACA,MAAA,KACA,OAAA,KACA,SAAA,QACA,KAAA,KACA,YAAA,OC5BJ,WAAa,WAAA,EAAA,QAAA,OAAA,2BACb,QAAU,WAAA,EAAA,MAAA,KAAA,0BACV,WAAa,WAAA,EAAA,KAAA,KAAA,2BACb,aAAe,WAAA,eCCX,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,OAAuB,MAAA,eAAvB,QAAuB,MAAA,eAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,OAAuB,OAAA,eAAvB,QAAuB,OAAA,eAI3B,QAAU,UAAA,eACV,QAAU,WAAA,eAIV,YAAc,UAAA,gBACd,YAAc,WAAA,gBAEd,QAAU,MAAA,gBACV,QAAU,OAAA,gBCfV,uBAEI,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,EAEA,eAAA,KACA,QAAA,GAEA,iBAAA,cCNI,KAAgC,OAAA,YAChC,MpEsuPR,MoEpuPU,WAAA,YAEF,MpEuuPR,MoEruPU,aAAA,YAEF,MpEwuPR,MoEtuPU,cAAA,YAEF,MpEyuPR,MoEvuPU,YAAA,YAfF,KAAgC,OAAA,iBAChC,MpE8vPR,MoE5vPU,WAAA,iBAEF,MpE+vPR,MoE7vPU,aAAA,iBAEF,MpEgwPR,MoE9vPU,cAAA,iBAEF,MpEiwPR,MoE/vPU,YAAA,iBAfF,KAAgC,OAAA,gBAChC,MpEsxPR,MoEpxPU,WAAA,gBAEF,MpEuxPR,MoErxPU,aAAA,gBAEF,MpEwxPR,MoEtxPU,cAAA,gBAEF,MpEyxPR,MoEvxPU,YAAA,gBAfF,KAAgC,OAAA,eAChC,MpE8yPR,MoE5yPU,WAAA,eAEF,MpE+yPR,MoE7yPU,aAAA,eAEF,MpEgzPR,MoE9yPU,cAAA,eAEF,MpEizPR,MoE/yPU,YAAA,eAfF,KAAgC,OAAA,iBAChC,MpEs0PR,MoEp0PU,WAAA,iBAEF,MpEu0PR,MoEr0PU,aAAA,iBAEF,MpEw0PR,MoEt0PU,cAAA,iBAEF,MpEy0PR,MoEv0PU,YAAA,iBAfF,KAAgC,OAAA,eAChC,MpE81PR,MoE51PU,WAAA,eAEF,MpE+1PR,MoE71PU,aAAA,eAEF,MpEg2PR,MoE91PU,cAAA,eAEF,MpEi2PR,MoE/1PU,YAAA,eAfF,KAAgC,QAAA,YAChC,MpEs3PR,MoEp3PU,YAAA,YAEF,MpEu3PR,MoEr3PU,cAAA,YAEF,MpEw3PR,MoEt3PU,eAAA,YAEF,MpEy3PR,MoEv3PU,aAAA,YAfF,KAAgC,QAAA,iBAChC,MpE84PR,MoE54PU,YAAA,iBAEF,MpE+4PR,MoE74PU,cAAA,iBAEF,MpEg5PR,MoE94PU,eAAA,iBAEF,MpEi5PR,MoE/4PU,aAAA,iBAfF,KAAgC,QAAA,gBAChC,MpEs6PR,MoEp6PU,YAAA,gBAEF,MpEu6PR,MoEr6PU,cAAA,gBAEF,MpEw6PR,MoEt6PU,eAAA,gBAEF,MpEy6PR,MoEv6PU,aAAA,gBAfF,KAAgC,QAAA,eAChC,MpE87PR,MoE57PU,YAAA,eAEF,MpE+7PR,MoE77PU,cAAA,eAEF,MpEg8PR,MoE97PU,eAAA,eAEF,MpEi8PR,MoE/7PU,aAAA,eAfF,KAAgC,QAAA,iBAChC,MpEs9PR,MoEp9PU,YAAA,iBAEF,MpEu9PR,MoEr9PU,cAAA,iBAEF,MpEw9PR,MoEt9PU,eAAA,iBAEF,MpEy9PR,MoEv9PU,aAAA,iBAfF,KAAgC,QAAA,eAChC,MpE8+PR,MoE5+PU,YAAA,eAEF,MpE++PR,MoE7+PU,cAAA,eAEF,MpEg/PR,MoE9+PU,eAAA,eAEF,MpEi/PR,MoE/+PU,aAAA,eAQF,MAAwB,OAAA,kBACxB,OpE++PR,OoE7+PU,WAAA,kBAEF,OpEg/PR,OoE9+PU,aAAA,kBAEF,OpEi/PR,OoE/+PU,cAAA,kBAEF,OpEk/PR,OoEh/PU,YAAA,kBAfF,MAAwB,OAAA,iBACxB,OpEugQR,OoErgQU,WAAA,iBAEF,OpEwgQR,OoEtgQU,aAAA,iBAEF,OpEygQR,OoEvgQU,cAAA,iBAEF,OpE0gQR,OoExgQU,YAAA,iBAfF,MAAwB,OAAA,gBACxB,OpE+hQR,OoE7hQU,WAAA,gBAEF,OpEgiQR,OoE9hQU,aAAA,gBAEF,OpEiiQR,OoE/hQU,cAAA,gBAEF,OpEkiQR,OoEhiQU,YAAA,gBAfF,MAAwB,OAAA,kBACxB,OpEujQR,OoErjQU,WAAA,kBAEF,OpEwjQR,OoEtjQU,aAAA,kBAEF,OpEyjQR,OoEvjQU,cAAA,kBAEF,OpE0jQR,OoExjQU,YAAA,kBAfF,MAAwB,OAAA,gBACxB,OpE+kQR,OoE7kQU,WAAA,gBAEF,OpEglQR,OoE9kQU,aAAA,gBAEF,OpEilQR,OoE/kQU,cAAA,gBAEF,OpEklQR,OoEhlQU,YAAA,gBAMN,QAAmB,OAAA,eACnB,SpEklQJ,SoEhlQM,WAAA,eAEF,SpEmlQJ,SoEjlQM,aAAA,eAEF,SpEolQJ,SoEllQM,cAAA,eAEF,SpEqlQJ,SoEnlQM,YAAA,exDTF,yBwDlDI,QAAgC,OAAA,YAChC,SpEspQN,SoEppQQ,WAAA,YAEF,SpEspQN,SoEppQQ,aAAA,YAEF,SpEspQN,SoEppQQ,cAAA,YAEF,SpEspQN,SoEppQQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpEyqQN,SoEvqQQ,WAAA,iBAEF,SpEyqQN,SoEvqQQ,aAAA,iBAEF,SpEyqQN,SoEvqQQ,cAAA,iBAEF,SpEyqQN,SoEvqQQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpE4rQN,SoE1rQQ,WAAA,gBAEF,SpE4rQN,SoE1rQQ,aAAA,gBAEF,SpE4rQN,SoE1rQQ,cAAA,gBAEF,SpE4rQN,SoE1rQQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpE+sQN,SoE7sQQ,WAAA,eAEF,SpE+sQN,SoE7sQQ,aAAA,eAEF,SpE+sQN,SoE7sQQ,cAAA,eAEF,SpE+sQN,SoE7sQQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpEkuQN,SoEhuQQ,WAAA,iBAEF,SpEkuQN,SoEhuQQ,aAAA,iBAEF,SpEkuQN,SoEhuQQ,cAAA,iBAEF,SpEkuQN,SoEhuQQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpEqvQN,SoEnvQQ,WAAA,eAEF,SpEqvQN,SoEnvQQ,aAAA,eAEF,SpEqvQN,SoEnvQQ,cAAA,eAEF,SpEqvQN,SoEnvQQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpEwwQN,SoEtwQQ,YAAA,YAEF,SpEwwQN,SoEtwQQ,cAAA,YAEF,SpEwwQN,SoEtwQQ,eAAA,YAEF,SpEwwQN,SoEtwQQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpE2xQN,SoEzxQQ,YAAA,iBAEF,SpE2xQN,SoEzxQQ,cAAA,iBAEF,SpE2xQN,SoEzxQQ,eAAA,iBAEF,SpE2xQN,SoEzxQQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpE8yQN,SoE5yQQ,YAAA,gBAEF,SpE8yQN,SoE5yQQ,cAAA,gBAEF,SpE8yQN,SoE5yQQ,eAAA,gBAEF,SpE8yQN,SoE5yQQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpEi0QN,SoE/zQQ,YAAA,eAEF,SpEi0QN,SoE/zQQ,cAAA,eAEF,SpEi0QN,SoE/zQQ,eAAA,eAEF,SpEi0QN,SoE/zQQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpEo1QN,SoEl1QQ,YAAA,iBAEF,SpEo1QN,SoEl1QQ,cAAA,iBAEF,SpEo1QN,SoEl1QQ,eAAA,iBAEF,SpEo1QN,SoEl1QQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpEu2QN,SoEr2QQ,YAAA,eAEF,SpEu2QN,SoEr2QQ,cAAA,eAEF,SpEu2QN,SoEr2QQ,eAAA,eAEF,SpEu2QN,SoEr2QQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpEm2QN,UoEj2QQ,WAAA,kBAEF,UpEm2QN,UoEj2QQ,aAAA,kBAEF,UpEm2QN,UoEj2QQ,cAAA,kBAEF,UpEm2QN,UoEj2QQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpEs3QN,UoEp3QQ,WAAA,iBAEF,UpEs3QN,UoEp3QQ,aAAA,iBAEF,UpEs3QN,UoEp3QQ,cAAA,iBAEF,UpEs3QN,UoEp3QQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpEy4QN,UoEv4QQ,WAAA,gBAEF,UpEy4QN,UoEv4QQ,aAAA,gBAEF,UpEy4QN,UoEv4QQ,cAAA,gBAEF,UpEy4QN,UoEv4QQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpE45QN,UoE15QQ,WAAA,kBAEF,UpE45QN,UoE15QQ,aAAA,kBAEF,UpE45QN,UoE15QQ,cAAA,kBAEF,UpE45QN,UoE15QQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpE+6QN,UoE76QQ,WAAA,gBAEF,UpE+6QN,UoE76QQ,aAAA,gBAEF,UpE+6QN,UoE76QQ,cAAA,gBAEF,UpE+6QN,UoE76QQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpE66QF,YoE36QI,WAAA,eAEF,YpE66QF,YoE36QI,aAAA,eAEF,YpE66QF,YoE36QI,cAAA,eAEF,YpE66QF,YoE36QI,YAAA,gBxDTF,yBwDlDI,QAAgC,OAAA,YAChC,SpE++QN,SoE7+QQ,WAAA,YAEF,SpE++QN,SoE7+QQ,aAAA,YAEF,SpE++QN,SoE7+QQ,cAAA,YAEF,SpE++QN,SoE7+QQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpEkgRN,SoEhgRQ,WAAA,iBAEF,SpEkgRN,SoEhgRQ,aAAA,iBAEF,SpEkgRN,SoEhgRQ,cAAA,iBAEF,SpEkgRN,SoEhgRQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpEqhRN,SoEnhRQ,WAAA,gBAEF,SpEqhRN,SoEnhRQ,aAAA,gBAEF,SpEqhRN,SoEnhRQ,cAAA,gBAEF,SpEqhRN,SoEnhRQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpEwiRN,SoEtiRQ,WAAA,eAEF,SpEwiRN,SoEtiRQ,aAAA,eAEF,SpEwiRN,SoEtiRQ,cAAA,eAEF,SpEwiRN,SoEtiRQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpE2jRN,SoEzjRQ,WAAA,iBAEF,SpE2jRN,SoEzjRQ,aAAA,iBAEF,SpE2jRN,SoEzjRQ,cAAA,iBAEF,SpE2jRN,SoEzjRQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpE8kRN,SoE5kRQ,WAAA,eAEF,SpE8kRN,SoE5kRQ,aAAA,eAEF,SpE8kRN,SoE5kRQ,cAAA,eAEF,SpE8kRN,SoE5kRQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpEimRN,SoE/lRQ,YAAA,YAEF,SpEimRN,SoE/lRQ,cAAA,YAEF,SpEimRN,SoE/lRQ,eAAA,YAEF,SpEimRN,SoE/lRQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpEonRN,SoElnRQ,YAAA,iBAEF,SpEonRN,SoElnRQ,cAAA,iBAEF,SpEonRN,SoElnRQ,eAAA,iBAEF,SpEonRN,SoElnRQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpEuoRN,SoEroRQ,YAAA,gBAEF,SpEuoRN,SoEroRQ,cAAA,gBAEF,SpEuoRN,SoEroRQ,eAAA,gBAEF,SpEuoRN,SoEroRQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpE0pRN,SoExpRQ,YAAA,eAEF,SpE0pRN,SoExpRQ,cAAA,eAEF,SpE0pRN,SoExpRQ,eAAA,eAEF,SpE0pRN,SoExpRQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpE6qRN,SoE3qRQ,YAAA,iBAEF,SpE6qRN,SoE3qRQ,cAAA,iBAEF,SpE6qRN,SoE3qRQ,eAAA,iBAEF,SpE6qRN,SoE3qRQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpEgsRN,SoE9rRQ,YAAA,eAEF,SpEgsRN,SoE9rRQ,cAAA,eAEF,SpEgsRN,SoE9rRQ,eAAA,eAEF,SpEgsRN,SoE9rRQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpE4rRN,UoE1rRQ,WAAA,kBAEF,UpE4rRN,UoE1rRQ,aAAA,kBAEF,UpE4rRN,UoE1rRQ,cAAA,kBAEF,UpE4rRN,UoE1rRQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpE+sRN,UoE7sRQ,WAAA,iBAEF,UpE+sRN,UoE7sRQ,aAAA,iBAEF,UpE+sRN,UoE7sRQ,cAAA,iBAEF,UpE+sRN,UoE7sRQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpEkuRN,UoEhuRQ,WAAA,gBAEF,UpEkuRN,UoEhuRQ,aAAA,gBAEF,UpEkuRN,UoEhuRQ,cAAA,gBAEF,UpEkuRN,UoEhuRQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpEqvRN,UoEnvRQ,WAAA,kBAEF,UpEqvRN,UoEnvRQ,aAAA,kBAEF,UpEqvRN,UoEnvRQ,cAAA,kBAEF,UpEqvRN,UoEnvRQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpEwwRN,UoEtwRQ,WAAA,gBAEF,UpEwwRN,UoEtwRQ,aAAA,gBAEF,UpEwwRN,UoEtwRQ,cAAA,gBAEF,UpEwwRN,UoEtwRQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpEswRF,YoEpwRI,WAAA,eAEF,YpEswRF,YoEpwRI,aAAA,eAEF,YpEswRF,YoEpwRI,cAAA,eAEF,YpEswRF,YoEpwRI,YAAA,gBxDTF,yBwDlDI,QAAgC,OAAA,YAChC,SpEw0RN,SoEt0RQ,WAAA,YAEF,SpEw0RN,SoEt0RQ,aAAA,YAEF,SpEw0RN,SoEt0RQ,cAAA,YAEF,SpEw0RN,SoEt0RQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpE21RN,SoEz1RQ,WAAA,iBAEF,SpE21RN,SoEz1RQ,aAAA,iBAEF,SpE21RN,SoEz1RQ,cAAA,iBAEF,SpE21RN,SoEz1RQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpE82RN,SoE52RQ,WAAA,gBAEF,SpE82RN,SoE52RQ,aAAA,gBAEF,SpE82RN,SoE52RQ,cAAA,gBAEF,SpE82RN,SoE52RQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpEi4RN,SoE/3RQ,WAAA,eAEF,SpEi4RN,SoE/3RQ,aAAA,eAEF,SpEi4RN,SoE/3RQ,cAAA,eAEF,SpEi4RN,SoE/3RQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpEo5RN,SoEl5RQ,WAAA,iBAEF,SpEo5RN,SoEl5RQ,aAAA,iBAEF,SpEo5RN,SoEl5RQ,cAAA,iBAEF,SpEo5RN,SoEl5RQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpEu6RN,SoEr6RQ,WAAA,eAEF,SpEu6RN,SoEr6RQ,aAAA,eAEF,SpEu6RN,SoEr6RQ,cAAA,eAEF,SpEu6RN,SoEr6RQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpE07RN,SoEx7RQ,YAAA,YAEF,SpE07RN,SoEx7RQ,cAAA,YAEF,SpE07RN,SoEx7RQ,eAAA,YAEF,SpE07RN,SoEx7RQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpE68RN,SoE38RQ,YAAA,iBAEF,SpE68RN,SoE38RQ,cAAA,iBAEF,SpE68RN,SoE38RQ,eAAA,iBAEF,SpE68RN,SoE38RQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpEg+RN,SoE99RQ,YAAA,gBAEF,SpEg+RN,SoE99RQ,cAAA,gBAEF,SpEg+RN,SoE99RQ,eAAA,gBAEF,SpEg+RN,SoE99RQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpEm/RN,SoEj/RQ,YAAA,eAEF,SpEm/RN,SoEj/RQ,cAAA,eAEF,SpEm/RN,SoEj/RQ,eAAA,eAEF,SpEm/RN,SoEj/RQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpEsgSN,SoEpgSQ,YAAA,iBAEF,SpEsgSN,SoEpgSQ,cAAA,iBAEF,SpEsgSN,SoEpgSQ,eAAA,iBAEF,SpEsgSN,SoEpgSQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpEyhSN,SoEvhSQ,YAAA,eAEF,SpEyhSN,SoEvhSQ,cAAA,eAEF,SpEyhSN,SoEvhSQ,eAAA,eAEF,SpEyhSN,SoEvhSQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpEqhSN,UoEnhSQ,WAAA,kBAEF,UpEqhSN,UoEnhSQ,aAAA,kBAEF,UpEqhSN,UoEnhSQ,cAAA,kBAEF,UpEqhSN,UoEnhSQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpEwiSN,UoEtiSQ,WAAA,iBAEF,UpEwiSN,UoEtiSQ,aAAA,iBAEF,UpEwiSN,UoEtiSQ,cAAA,iBAEF,UpEwiSN,UoEtiSQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpE2jSN,UoEzjSQ,WAAA,gBAEF,UpE2jSN,UoEzjSQ,aAAA,gBAEF,UpE2jSN,UoEzjSQ,cAAA,gBAEF,UpE2jSN,UoEzjSQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpE8kSN,UoE5kSQ,WAAA,kBAEF,UpE8kSN,UoE5kSQ,aAAA,kBAEF,UpE8kSN,UoE5kSQ,cAAA,kBAEF,UpE8kSN,UoE5kSQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpEimSN,UoE/lSQ,WAAA,gBAEF,UpEimSN,UoE/lSQ,aAAA,gBAEF,UpEimSN,UoE/lSQ,cAAA,gBAEF,UpEimSN,UoE/lSQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpE+lSF,YoE7lSI,WAAA,eAEF,YpE+lSF,YoE7lSI,aAAA,eAEF,YpE+lSF,YoE7lSI,cAAA,eAEF,YpE+lSF,YoE7lSI,YAAA,gBxDTF,0BwDlDI,QAAgC,OAAA,YAChC,SpEiqSN,SoE/pSQ,WAAA,YAEF,SpEiqSN,SoE/pSQ,aAAA,YAEF,SpEiqSN,SoE/pSQ,cAAA,YAEF,SpEiqSN,SoE/pSQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,SpEorSN,SoElrSQ,WAAA,iBAEF,SpEorSN,SoElrSQ,aAAA,iBAEF,SpEorSN,SoElrSQ,cAAA,iBAEF,SpEorSN,SoElrSQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,SpEusSN,SoErsSQ,WAAA,gBAEF,SpEusSN,SoErsSQ,aAAA,gBAEF,SpEusSN,SoErsSQ,cAAA,gBAEF,SpEusSN,SoErsSQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,SpE0tSN,SoExtSQ,WAAA,eAEF,SpE0tSN,SoExtSQ,aAAA,eAEF,SpE0tSN,SoExtSQ,cAAA,eAEF,SpE0tSN,SoExtSQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,SpE6uSN,SoE3uSQ,WAAA,iBAEF,SpE6uSN,SoE3uSQ,aAAA,iBAEF,SpE6uSN,SoE3uSQ,cAAA,iBAEF,SpE6uSN,SoE3uSQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,SpEgwSN,SoE9vSQ,WAAA,eAEF,SpEgwSN,SoE9vSQ,aAAA,eAEF,SpEgwSN,SoE9vSQ,cAAA,eAEF,SpEgwSN,SoE9vSQ,YAAA,eAfF,QAAgC,QAAA,YAChC,SpEmxSN,SoEjxSQ,YAAA,YAEF,SpEmxSN,SoEjxSQ,cAAA,YAEF,SpEmxSN,SoEjxSQ,eAAA,YAEF,SpEmxSN,SoEjxSQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,SpEsySN,SoEpySQ,YAAA,iBAEF,SpEsySN,SoEpySQ,cAAA,iBAEF,SpEsySN,SoEpySQ,eAAA,iBAEF,SpEsySN,SoEpySQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,SpEyzSN,SoEvzSQ,YAAA,gBAEF,SpEyzSN,SoEvzSQ,cAAA,gBAEF,SpEyzSN,SoEvzSQ,eAAA,gBAEF,SpEyzSN,SoEvzSQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,SpE40SN,SoE10SQ,YAAA,eAEF,SpE40SN,SoE10SQ,cAAA,eAEF,SpE40SN,SoE10SQ,eAAA,eAEF,SpE40SN,SoE10SQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,SpE+1SN,SoE71SQ,YAAA,iBAEF,SpE+1SN,SoE71SQ,cAAA,iBAEF,SpE+1SN,SoE71SQ,eAAA,iBAEF,SpE+1SN,SoE71SQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,SpEk3SN,SoEh3SQ,YAAA,eAEF,SpEk3SN,SoEh3SQ,cAAA,eAEF,SpEk3SN,SoEh3SQ,eAAA,eAEF,SpEk3SN,SoEh3SQ,aAAA,eAQF,SAAwB,OAAA,kBACxB,UpE82SN,UoE52SQ,WAAA,kBAEF,UpE82SN,UoE52SQ,aAAA,kBAEF,UpE82SN,UoE52SQ,cAAA,kBAEF,UpE82SN,UoE52SQ,YAAA,kBAfF,SAAwB,OAAA,iBACxB,UpEi4SN,UoE/3SQ,WAAA,iBAEF,UpEi4SN,UoE/3SQ,aAAA,iBAEF,UpEi4SN,UoE/3SQ,cAAA,iBAEF,UpEi4SN,UoE/3SQ,YAAA,iBAfF,SAAwB,OAAA,gBACxB,UpEo5SN,UoEl5SQ,WAAA,gBAEF,UpEo5SN,UoEl5SQ,aAAA,gBAEF,UpEo5SN,UoEl5SQ,cAAA,gBAEF,UpEo5SN,UoEl5SQ,YAAA,gBAfF,SAAwB,OAAA,kBACxB,UpEu6SN,UoEr6SQ,WAAA,kBAEF,UpEu6SN,UoEr6SQ,aAAA,kBAEF,UpEu6SN,UoEr6SQ,cAAA,kBAEF,UpEu6SN,UoEr6SQ,YAAA,kBAfF,SAAwB,OAAA,gBACxB,UpE07SN,UoEx7SQ,WAAA,gBAEF,UpE07SN,UoEx7SQ,aAAA,gBAEF,UpE07SN,UoEx7SQ,cAAA,gBAEF,UpE07SN,UoEx7SQ,YAAA,gBAMN,WAAmB,OAAA,eACnB,YpEw7SF,YoEt7SI,WAAA,eAEF,YpEw7SF,YoEt7SI,aAAA,eAEF,YpEw7SF,YoEt7SI,cAAA,eAEF,YpEw7SF,YoEt7SI,YAAA,gBC/DN,gBAAkB,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,oBAIlB,cAAiB,WAAA,kBACjB,WAAiB,YAAA,iBACjB,aAAiB,YAAA,iBACjB,eCTE,SAAA,OACA,cAAA,SACA,YAAA,ODeE,WAAwB,WAAA,eACxB,YAAwB,WAAA,gBACxB,aAAwB,WAAA,iBzDqCxB,yByDvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBzDqCxB,yByDvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBzDqCxB,yByDvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBzDqCxB,0ByDvCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBAM5B,gBAAmB,eAAA,oBACnB,gBAAmB,eAAA,oBACnB,iBAAmB,eAAA,qBAInB,mBAAuB,YAAA,cACvB,qBAAuB,YAAA,kBACvB,oBAAuB,YAAA,cACvB,kBAAuB,YAAA,cACvB,oBAAuB,YAAA,iBACvB,aAAuB,WAAA,iBAIvB,YAAc,MAAA,eEvCZ,cACE,MAAA,kBpEUF,qBAAA,qBoELM,MAAA,kBANN,gBACE,MAAA,kBpEUF,uBAAA,uBoELM,MAAA,kBANN,cACE,MAAA,kBpEUF,qBAAA,qBoELM,MAAA,kBANN,WACE,MAAA,kBpEUF,kBAAA,kBoELM,MAAA,kBANN,cACE,MAAA,kBpEUF,qBAAA,qBoELM,MAAA,kBANN,aACE,MAAA,kBpEUF,oBAAA,oBoELM,MAAA,kBANN,YACE,MAAA,kBpEUF,mBAAA,mBoELM,MAAA,kBANN,WACE,MAAA,kBpEUF,kBAAA,kBoELM,MAAA,kBFuCR,WAAa,MAAA,kBACb,YAAc,MAAA,kBAEd,eAAiB,MAAA,yBACjB,eAAiB,MAAA,+BAIjB,WGvDE,KAAA,CAAA,CAAA,EAAA,EACA,MAAA,YACA,YAAA,KACA,iBAAA,YACA,OAAA,EHuDF,sBAAwB,gBAAA,eAExB,YACE,WAAA,qBACA,cAAA,qBAKF,YAAc,MAAA,kBIjEd,SACE,WAAA,kBAGF,WACE,WAAA,iBCAA,a3EOF,ECwtTE,QADA,S0ExtTI,YAAA,eAEA,WAAA,eAGF,YAEI,gBAAA,UASJ,mBACE,QAAA,KAAA,YAAA,I3E+LN,I2EhLM,YAAA,mB1EusTJ,W0ErsTE,IAEE,OAAA,IAAA,MAAA,QACA,kBAAA,MAQF,MACE,QAAA,mB1EisTJ,I0E9rTE,GAEE,kBAAA,M1EgsTJ,GACA,G0E9rTE,EAGE,QAAA,EACA,OAAA,EAGF,G1E4rTF,G0E1rTI,iBAAA,MAQF,MACE,KAAA,G3E5CN,K2E+CM,UAAA,gBhEvFJ,WgE0FI,UAAA,gB5C9EN,Q4CmFM,QAAA,KvC/FN,OuCkGM,OAAA,IAAA,MAAA,K5DnGN,O4DuGM,gBAAA,mBADF,U1EsrTF,U0EjrTM,iBAAA,e1EqrTN,mBcxvTF,mB4D0EQ,OAAA,IAAA,MAAA,kB5DWR,Y4DNM,MAAA,Q1EkrTJ,wBAFA,eetyTA,efuyTA,qB0E3qTM,aAAA,Q5DlBR,sB4DuBM,MAAA,QACA,aAAA","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n -webkit-transform: translateX(0.75rem);\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-horizontal {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -50px);\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: none;\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: -ms-flexbox;\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n -webkit-transform: none;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `