diff --git a/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.Streaming.cs b/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.Streaming.cs index fa8339534..d1a2bb29e 100644 --- a/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.Streaming.cs +++ b/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.Streaming.cs @@ -2,6 +2,8 @@ using Aevatar.AI.Abstractions.LLMProviders; using Aevatar.Foundation.Abstractions; using Aevatar.Foundation.Abstractions.Streaming; +using Aevatar.Studio.Application.Studio.Abstractions; +using Aevatar.GAgentService.Abstractions.ScopeGAgents; using Google.Protobuf.WellKnownTypes; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -18,6 +20,7 @@ private static async Task HandleStreamMessageAsync( string actorId, NyxIdChatStreamRequest request, [FromServices] IActorRuntime actorRuntime, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IActorEventSubscriptionProvider subscriptionProvider, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) @@ -43,8 +46,21 @@ private static async Task HandleStreamMessageAsync( return; } - actor = await actorRuntime.GetAsync(actorId) - ?? await actorRuntime.CreateAsync(actorId, ct); + if (!await TryAuthorizeConversationAsync( + http, + admissionPort, + scopeId, + actorId, + ScopeResourceOperation.Stream, + ct)) + return; + + actor = await actorRuntime.GetAsync(actorId); + if (actor == null) + { + http.Response.StatusCode = StatusCodes.Status404NotFound; + return; + } } catch (OperationCanceledException) { @@ -189,6 +205,7 @@ private static async Task HandleApproveAsync( string actorId, NyxIdApprovalRequest request, [FromServices] IActorRuntime actorRuntime, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IActorEventSubscriptionProvider subscriptionProvider, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) @@ -211,6 +228,15 @@ private static async Task HandleApproveAsync( return; } + if (!await TryAuthorizeConversationAsync( + http, + admissionPort, + scopeId, + actorId, + ScopeResourceOperation.Approve, + ct)) + return; + actor = await actorRuntime.GetAsync(actorId); if (actor == null) { diff --git a/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.cs b/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.cs index 87cc6a760..c98bab75c 100644 --- a/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.cs +++ b/agents/Aevatar.GAgents.NyxidChat/NyxIdChatEndpoints.cs @@ -4,6 +4,7 @@ using Aevatar.Foundation.Abstractions; using Aevatar.Foundation.Abstractions.Streaming; using Aevatar.Studio.Application.Studio.Abstractions; +using Aevatar.GAgentService.Abstractions.ScopeGAgents; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -81,54 +82,132 @@ public static IEndpointRouteBuilder MapNyxIdChatEndpoints(this IEndpointRouteBui private static async Task HandleCreateConversationAsync( HttpContext http, string scopeId, - [FromServices] IGAgentActorStore actorStore, + [FromServices] IGAgentActorRegistryCommandPort registryCommandPort, + [FromServices] IActorRuntime actorRuntime, CancellationToken ct) { - // Conversation creation is fail-fast on IGAgentActorStore persistence. + // Conversation creation is fail-fast on registry persistence. // NyxId chat depends on the registry being available; there is no // degraded mode where a conversation can run without being registered. var actorId = NyxIdChatServiceDefaults.GenerateActorId(); - await actorStore.AddActorAsync(scopeId, NyxIdChatServiceDefaults.GAgentTypeName, actorId, ct); + await actorRuntime.CreateAsync(actorId, ct); + try + { + var receipt = await registryCommandPort.RegisterActorAsync( + new GAgentActorRegistration(scopeId, NyxIdChatServiceDefaults.GAgentTypeName, actorId), + ct); + if (!receipt.IsAdmissionVisible) + { + await TryRollbackConversationCreationAsync( + http, + scopeId, + actorId, + registryCommandPort, + actorRuntime); + return Results.Json( + new { error = "Conversation registration is not admission-visible" }, + statusCode: StatusCodes.Status503ServiceUnavailable); + } + } + catch + { + await TryRollbackConversationCreationAsync( + http, + scopeId, + actorId, + registryCommandPort, + actorRuntime); + throw; + } + return Results.Ok(new { actorId }); } - private static async Task HandleListConversationsAsync( + private static async Task TryRollbackConversationCreationAsync( HttpContext http, string scopeId, - [FromServices] IGAgentActorStore actorStore, - CancellationToken ct) + string actorId, + IGAgentActorRegistryCommandPort registryCommandPort, + IActorRuntime actorRuntime) { + var logger = http.RequestServices?.GetService() + ?.CreateLogger("Aevatar.NyxId.Chat.CreateConversation"); + + try + { + await registryCommandPort.UnregisterActorAsync( + new GAgentActorRegistration(scopeId, NyxIdChatServiceDefaults.GAgentTypeName, actorId), + CancellationToken.None); + } + catch (Exception ex) + { + logger?.LogWarning( + ex, + "Failed to unregister NyxId chat conversation during create rollback: scope={ScopeId}, actor={ActorId}", + scopeId, + actorId); + return; + } + try { - var groups = await actorStore.GetAsync(scopeId, ct); - var actorIds = groups - .FirstOrDefault(g => string.Equals(g.GAgentType, NyxIdChatServiceDefaults.GAgentTypeName, StringComparison.Ordinal)) - ?.ActorIds - ?? []; - return Results.Ok(actorIds.Select(actorId => new { actorId })); + await actorRuntime.DestroyAsync(actorId, CancellationToken.None); } - catch (InvalidOperationException) + catch (Exception ex) { - return Results.Ok(Array.Empty()); + logger?.LogWarning(ex, "Failed to destroy NyxId chat actor {ActorId} during create rollback", actorId); } } + private static async Task HandleListConversationsAsync( + HttpContext http, + string scopeId, + [FromServices] IGAgentActorRegistryQueryPort registryQueryPort, + CancellationToken ct) + { + var snapshot = await registryQueryPort.ListActorsAsync(scopeId, ct); + var actorIds = snapshot.Groups + .FirstOrDefault(g => string.Equals(g.GAgentType, NyxIdChatServiceDefaults.GAgentTypeName, StringComparison.Ordinal)) + ?.ActorIds + ?? []; + return Results.Ok(new + { + snapshot.ScopeId, + snapshot.StateVersion, + snapshot.UpdatedAt, + snapshot.ObservedAt, + Conversations = actorIds.Select(actorId => new { actorId }), + }); + } + private static async Task HandleDeleteConversationAsync( HttpContext http, string scopeId, string actorId, - [FromServices] IGAgentActorStore actorStore, + [FromServices] IGAgentActorRegistryCommandPort registryCommandPort, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IChatHistoryStore chatHistoryStore, CancellationToken ct) { - await actorStore.RemoveActorAsync(scopeId, NyxIdChatServiceDefaults.GAgentTypeName, actorId, ct); + var admissionError = await AuthorizeConversationAsync( + admissionPort, + scopeId, + actorId, + ScopeResourceOperation.Delete, + ct); + if (admissionError != null) + return admissionError; + + await registryCommandPort.UnregisterActorAsync( + new GAgentActorRegistration(scopeId, NyxIdChatServiceDefaults.GAgentTypeName, actorId), + ct); try { await chatHistoryStore.DeleteConversationAsync(scopeId, actorId, ct); } catch { - await TryRestoreConversationRegistrationAsync(http, scopeId, actorId, actorStore); + await TryRestoreConversationRegistrationAsync(http, scopeId, actorId, registryCommandPort); throw; } @@ -139,11 +218,13 @@ private static async Task TryRestoreConversationRegistrationAsync( HttpContext http, string scopeId, string actorId, - IGAgentActorStore actorStore) + IGAgentActorRegistryCommandPort registryCommandPort) { try { - await actorStore.AddActorAsync(scopeId, NyxIdChatServiceDefaults.GAgentTypeName, actorId, CancellationToken.None); + await registryCommandPort.RegisterActorAsync( + new GAgentActorRegistration(scopeId, NyxIdChatServiceDefaults.GAgentTypeName, actorId), + CancellationToken.None); } catch (Exception ex) { @@ -153,10 +234,55 @@ private static async Task TryRestoreConversationRegistrationAsync( ex, "Failed to restore NyxId chat conversation registration after history deletion failure: scope={ScopeId}, actor={ActorId}", scopeId, - actorId); + actorId); } } + private static async Task AuthorizeConversationAsync( + IScopeResourceAdmissionPort admissionPort, + string scopeId, + string actorId, + ScopeResourceOperation operation, + CancellationToken ct) + { + var admission = await admissionPort.AuthorizeTargetAsync( + new ScopeResourceTarget( + scopeId, + ScopeResourceKind.GAgentActor, + NyxIdChatServiceDefaults.GAgentTypeName, + actorId, + operation), + ct); + return admission.Status switch + { + ScopeResourceAdmissionStatus.Allowed => null, + ScopeResourceAdmissionStatus.NotFound => Results.NotFound(new { error = "Conversation not found" }), + ScopeResourceAdmissionStatus.Denied or ScopeResourceAdmissionStatus.ScopeMismatch => + Results.Json(new { error = "Conversation access denied" }, statusCode: StatusCodes.Status403Forbidden), + ScopeResourceAdmissionStatus.Unavailable => + Results.Json(new { error = "Conversation admission unavailable" }, statusCode: StatusCodes.Status503ServiceUnavailable), + _ => Results.Json(new { error = "Conversation admission failed" }, statusCode: StatusCodes.Status503ServiceUnavailable), + }; + } + + private static async Task TryAuthorizeConversationAsync( + HttpContext http, + IScopeResourceAdmissionPort admissionPort, + string scopeId, + string actorId, + ScopeResourceOperation operation, + CancellationToken ct) + { + var admissionError = await AuthorizeConversationAsync(admissionPort, scopeId, actorId, operation, ct); + if (admissionError == null) + return true; + + http.Response.StatusCode = admissionError is IStatusCodeHttpResult { StatusCode: { } statusCode } + ? statusCode + : StatusCodes.Status500InternalServerError; + return false; + } + private static async Task InjectUserConfigMetadataAsync( HttpContext http, IDictionary metadata, diff --git a/agents/Aevatar.GAgents.Registry/GAgentRegistryGAgent.cs b/agents/Aevatar.GAgents.Registry/GAgentRegistryGAgent.cs index 47af1a7b3..2df9af2d4 100644 --- a/agents/Aevatar.GAgents.Registry/GAgentRegistryGAgent.cs +++ b/agents/Aevatar.GAgents.Registry/GAgentRegistryGAgent.cs @@ -32,6 +32,22 @@ public async Task HandleActorRegistered(ActorRegisteredEvent evt) await PersistDomainEventAsync(evt); } + [EventHandler(EndpointName = "authorizeScopeResource")] + public Task HandleScopeResourceAdmissionRequested(ScopeResourceAdmissionRequested request) + { + if (string.IsNullOrWhiteSpace(request.ScopeId) || + string.IsNullOrWhiteSpace(request.GagentType) || + string.IsNullOrWhiteSpace(request.ActorId)) + throw new GAgentRegistryAdmissionNotFoundException(); + + var group = State.Groups.FirstOrDefault(g => + string.Equals(g.GagentType, request.GagentType, StringComparison.Ordinal)); + if (group is null || !group.ActorIds.Contains(request.ActorId)) + throw new GAgentRegistryAdmissionNotFoundException(); + + return Task.CompletedTask; + } + [EventHandler(EndpointName = "unregisterActor")] public async Task HandleActorUnregistered(ActorUnregisteredEvent evt) { @@ -100,3 +116,11 @@ private static GAgentRegistryState ApplyUnregistered( } } + +public sealed class GAgentRegistryAdmissionNotFoundException : Exception +{ + public GAgentRegistryAdmissionNotFoundException() + : base("Registry target was not found.") + { + } +} diff --git a/agents/Aevatar.GAgents.Registry/gagent_registry_messages.proto b/agents/Aevatar.GAgents.Registry/gagent_registry_messages.proto index 619ffb2b3..905157863 100644 --- a/agents/Aevatar.GAgents.Registry/gagent_registry_messages.proto +++ b/agents/Aevatar.GAgents.Registry/gagent_registry_messages.proto @@ -25,3 +25,23 @@ message ActorUnregisteredEvent { string actor_id = 2; } +// ─── Admission ─── + +enum GAgentRegistryOperation { + UNKNOWN = 0; + USE = 1; + DELETE = 2; + CHAT = 3; + STREAM = 4; + APPROVE = 5; + JOIN = 6; + LIST_PARTICIPANTS = 7; + DRAFT_RUN_REUSE = 8; +} + +message ScopeResourceAdmissionRequested { + string gagent_type = 1; + string actor_id = 2; + GAgentRegistryOperation operation = 3; + string scope_id = 4; +} diff --git a/agents/Aevatar.GAgents.StreamingProxy/Aevatar.GAgents.StreamingProxy.csproj b/agents/Aevatar.GAgents.StreamingProxy/Aevatar.GAgents.StreamingProxy.csproj index eb4366e57..56aff06e6 100644 --- a/agents/Aevatar.GAgents.StreamingProxy/Aevatar.GAgents.StreamingProxy.csproj +++ b/agents/Aevatar.GAgents.StreamingProxy/Aevatar.GAgents.StreamingProxy.csproj @@ -19,6 +19,7 @@ + diff --git a/agents/Aevatar.GAgents.StreamingProxy/StreamingProxyEndpoints.cs b/agents/Aevatar.GAgents.StreamingProxy/StreamingProxyEndpoints.cs index db414abc0..af53fff81 100644 --- a/agents/Aevatar.GAgents.StreamingProxy/StreamingProxyEndpoints.cs +++ b/agents/Aevatar.GAgents.StreamingProxy/StreamingProxyEndpoints.cs @@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.DependencyInjection; using Aevatar.Studio.Application.Studio.Abstractions; +using Aevatar.GAgentService.Abstractions.ScopeGAgents; using Microsoft.Extensions.Logging; using System.Threading.Channels; @@ -49,7 +50,7 @@ private static async Task HandleCreateRoomAsync( HttpContext http, string scopeId, [FromBody] CreateRoomRequest? request, - [FromServices] IGAgentActorStore actorStore, + [FromServices] IGAgentActorRegistryCommandPort registryCommandPort, [FromServices] IActorRuntime actorRuntime, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) @@ -63,22 +64,11 @@ private static async Task HandleCreateRoomAsync( roomName = "Group Chat"; var roomId = StreamingProxyDefaults.GenerateRoomId(); - try - { - await actorStore.AddActorAsync(scopeId, StreamingProxyDefaults.GAgentTypeName, roomId, ct); - } - catch (OperationCanceledException) { throw; } - catch (Exception ex) - { - logger.LogError(ex, "Failed to register room {RoomId} before activation", roomId); - return Results.Json( - new { error = "Failed to create room" }, - statusCode: StatusCodes.Status503ServiceUnavailable); - } - + var targetCreated = false; try { var actor = await actorRuntime.CreateAsync(roomId, ct); + targetCreated = true; var initEvent = new GroupChatRoomInitializedEvent { RoomName = roomName }; var envelope = new EventEnvelope @@ -89,12 +79,29 @@ private static async Task HandleCreateRoomAsync( Route = new EnvelopeRoute { Direct = new DirectRoute { TargetActorId = actor.Id } }, }; await actor.HandleEventAsync(envelope, ct); + + var receipt = await registryCommandPort.RegisterActorAsync( + new GAgentActorRegistration(scopeId, StreamingProxyDefaults.GAgentTypeName, roomId), + ct); + if (!receipt.IsAdmissionVisible) + { + await TryRollbackRoomCreationAsync(scopeId, roomId, registryCommandPort, actorRuntime, logger); + return Results.Json( + new { error = "Failed to create room" }, + statusCode: StatusCodes.Status503ServiceUnavailable); + } + } + catch (OperationCanceledException) + { + if (targetCreated) + await TryRollbackRoomCreationAsync(scopeId, roomId, registryCommandPort, actorRuntime, logger); + throw; } - catch (OperationCanceledException) { throw; } catch (Exception ex) { - logger.LogError(ex, "Failed to activate room {RoomId}; rolling back registration", roomId); - await TryRollbackRoomCreationAsync(scopeId, roomId, actorStore, actorRuntime, logger); + logger.LogError(ex, "Failed to create room {RoomId}", roomId); + if (targetCreated) + await TryRollbackRoomCreationAsync(scopeId, roomId, registryCommandPort, actorRuntime, logger); return Results.Json( new { error = "Failed to create room" }, statusCode: StatusCodes.Status500InternalServerError); @@ -106,7 +113,7 @@ private static async Task HandleCreateRoomAsync( private static async Task HandleListRoomsAsync( HttpContext http, string scopeId, - [FromServices] IGAgentActorStore actorStore, + [FromServices] IGAgentActorRegistryQueryPort registryQueryPort, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) { @@ -116,17 +123,31 @@ private static async Task HandleListRoomsAsync( var logger = loggerFactory.CreateLogger("Aevatar.GAgents.StreamingProxy.Endpoints"); try { - var groups = await actorStore.GetAsync(scopeId, ct); - var group = groups.FirstOrDefault(g => + var snapshot = await registryQueryPort.ListActorsAsync(scopeId, ct); + var group = snapshot.Groups.FirstOrDefault(g => string.Equals(g.GAgentType, StreamingProxyDefaults.GAgentTypeName, StringComparison.Ordinal)); var roomIds = group?.ActorIds ?? []; - return Results.Ok(roomIds.Select(id => new { roomId = id })); + return Results.Ok(new + { + snapshot.ScopeId, + snapshot.StateVersion, + snapshot.UpdatedAt, + snapshot.ObservedAt, + Rooms = roomIds.Select(id => new { roomId = id }), + }); } catch (OperationCanceledException) { throw; } catch (Exception ex) { - logger.LogWarning(ex, "Failed to list rooms from actor store"); - return Results.Ok(Array.Empty()); + logger.LogWarning(ex, "Failed to list rooms from registry read model"); + return Results.Ok(new + { + ScopeId = scopeId, + StateVersion = 0L, + UpdatedAt = DateTimeOffset.MinValue, + ObservedAt = DateTimeOffset.UtcNow, + Rooms = Array.Empty(), + }); } } @@ -134,7 +155,8 @@ private static async Task HandleDeleteRoomAsync( HttpContext http, string scopeId, string roomId, - [FromServices] IGAgentActorStore actorStore, + [FromServices] IGAgentActorRegistryCommandPort registryCommandPort, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IStreamingProxyParticipantStore participantStore, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) @@ -143,14 +165,28 @@ private static async Task HandleDeleteRoomAsync( return denied; var logger = loggerFactory.CreateLogger("Aevatar.GAgents.StreamingProxy.Endpoints"); + var admissionError = await AuthorizeRoomAsync( + admissionPort, + scopeId, + roomId, + ScopeResourceOperation.Delete, + ct); + if (admissionError != null) + return admissionError; + try { - await actorStore.RemoveActorAsync(scopeId, StreamingProxyDefaults.GAgentTypeName, roomId, ct); + await registryCommandPort.UnregisterActorAsync( + new GAgentActorRegistration(scopeId, StreamingProxyDefaults.GAgentTypeName, roomId), + ct); } catch (OperationCanceledException) { throw; } catch (Exception ex) { - logger.LogWarning(ex, "Failed to remove room {RoomId} from actor store", roomId); + logger.LogWarning(ex, "Failed to unregister room {RoomId} from registry", roomId); + return Results.Json( + new { error = "Failed to delete room" }, + statusCode: StatusCodes.Status503ServiceUnavailable); } try { @@ -172,6 +208,7 @@ private static async Task HandleChatAsync( string roomId, ChatTopicRequest request, [FromServices] IActorRuntime actorRuntime, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IStreamingProxyRoomSessionProjectionPort roomSessionProjectionPort, [FromServices] StreamingProxyChatDurableCompletionResolver durableCompletionResolver, [FromServices] IStreamingProxyParticipantStore participantStore, @@ -189,6 +226,15 @@ private static async Task HandleChatAsync( if (await AevatarScopeAccessGuard.TryWriteScopeAccessDeniedAsync(http, scopeId, ct)) return; + if (!await TryAuthorizeRoomAsync( + http, + admissionPort, + scopeId, + roomId, + ScopeResourceOperation.Chat, + ct)) + return; + var prompt = request.Prompt?.Trim() ?? string.Empty; if (string.IsNullOrWhiteSpace(prompt)) { @@ -389,6 +435,7 @@ private static async Task HandlePostMessageAsync( string roomId, PostMessageRequest request, [FromServices] IActorRuntime actorRuntime, + [FromServices] IScopeResourceAdmissionPort admissionPort, CancellationToken ct) { if (AevatarScopeAccessGuard.TryCreateScopeAccessDeniedResult(http, scopeId, out var denied)) @@ -397,6 +444,15 @@ private static async Task HandlePostMessageAsync( if (string.IsNullOrWhiteSpace(request.AgentId) || string.IsNullOrWhiteSpace(request.Content)) return Results.BadRequest(new { error = "agentId and content are required" }); + var admissionError = await AuthorizeRoomAsync( + admissionPort, + scopeId, + roomId, + ScopeResourceOperation.Use, + ct); + if (admissionError != null) + return admissionError; + var actor = await actorRuntime.GetAsync(roomId); if (actor is null) return Results.NotFound(new { error = "Room not found" }); @@ -428,6 +484,7 @@ private static async Task HandleMessageStreamAsync( string scopeId, string roomId, [FromServices] IActorRuntime actorRuntime, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IStreamingProxyRoomSessionProjectionPort roomSessionProjectionPort, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) @@ -440,6 +497,15 @@ private static async Task HandleMessageStreamAsync( if (await AevatarScopeAccessGuard.TryWriteScopeAccessDeniedAsync(http, scopeId, ct)) return; + if (!await TryAuthorizeRoomAsync( + http, + admissionPort, + scopeId, + roomId, + ScopeResourceOperation.Stream, + ct)) + return; + var actor = await actorRuntime.GetAsync(roomId); if (actor is null) { @@ -511,6 +577,7 @@ private static async Task HandleListParticipantsAsync( HttpContext http, string scopeId, string roomId, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IStreamingProxyParticipantStore participantStore, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) @@ -518,6 +585,15 @@ private static async Task HandleListParticipantsAsync( if (AevatarScopeAccessGuard.TryCreateScopeAccessDeniedResult(http, scopeId, out var denied)) return denied; + var admissionError = await AuthorizeRoomAsync( + admissionPort, + scopeId, + roomId, + ScopeResourceOperation.ListParticipants, + ct); + if (admissionError != null) + return admissionError; + var logger = loggerFactory.CreateLogger("Aevatar.GAgents.StreamingProxy.Endpoints"); try { @@ -540,6 +616,7 @@ private static async Task HandleJoinAsync( string roomId, JoinRoomRequest request, [FromServices] IActorRuntime actorRuntime, + [FromServices] IScopeResourceAdmissionPort admissionPort, [FromServices] IStreamingProxyParticipantStore participantStore, [FromServices] ILoggerFactory loggerFactory, CancellationToken ct) @@ -550,6 +627,15 @@ private static async Task HandleJoinAsync( if (string.IsNullOrWhiteSpace(request.AgentId)) return Results.BadRequest(new { error = "agentId is required" }); + var admissionError = await AuthorizeRoomAsync( + admissionPort, + scopeId, + roomId, + ScopeResourceOperation.Join, + ct); + if (admissionError != null) + return admissionError; + var actor = await actorRuntime.GetAsync(roomId); if (actor is null) return Results.NotFound(new { error = "Room not found" }); @@ -854,33 +940,90 @@ private static async Task WaitForTerminalSignalAsync( private static async Task TryRollbackRoomCreationAsync( string scopeId, string roomId, - IGAgentActorStore actorStore, + IGAgentActorRegistryCommandPort registryCommandPort, IActorRuntime actorRuntime, ILogger logger) { try { - await actorRuntime.DestroyAsync(roomId, CancellationToken.None); + await registryCommandPort.UnregisterActorAsync( + new GAgentActorRegistration( + scopeId, + StreamingProxyDefaults.GAgentTypeName, + roomId), + CancellationToken.None); } catch (Exception ex) { - logger.LogError(ex, "Failed to destroy room actor {RoomId} during rollback", roomId); + logger.LogError(ex, "Failed to unregister room {RoomId} from registry during rollback", roomId); + return; } try { - await actorStore.RemoveActorAsync( + await actorRuntime.DestroyAsync(roomId, CancellationToken.None); + } + catch (Exception ex) + { + logger.LogError(ex, "Failed to destroy room actor {RoomId} during rollback", roomId); + } + } + + private static async Task AuthorizeRoomAsync( + IScopeResourceAdmissionPort admissionPort, + string scopeId, + string roomId, + ScopeResourceOperation operation, + CancellationToken ct) + { + var admission = await admissionPort.AuthorizeTargetAsync( + new ScopeResourceTarget( scopeId, + ScopeResourceKind.GAgentActor, StreamingProxyDefaults.GAgentTypeName, roomId, - CancellationToken.None); - } - catch (Exception ex) + operation), + ct); + return MapAdmissionError(admission); + } + + private static async Task TryAuthorizeRoomAsync( + HttpContext http, + IScopeResourceAdmissionPort admissionPort, + string scopeId, + string roomId, + ScopeResourceOperation operation, + CancellationToken ct) + { + var admissionError = await AuthorizeRoomAsync(admissionPort, scopeId, roomId, operation, ct); + if (admissionError == null) + return true; + + switch (admissionError) { - logger.LogError(ex, "Failed to remove room {RoomId} from actor store during rollback", roomId); + case IStatusCodeHttpResult { StatusCode: { } statusCode }: + http.Response.StatusCode = statusCode; + break; + default: + http.Response.StatusCode = StatusCodes.Status500InternalServerError; + break; } + + return false; } + private static IResult? MapAdmissionError(ScopeResourceAdmissionResult admission) => + admission.Status switch + { + ScopeResourceAdmissionStatus.Allowed => null, + ScopeResourceAdmissionStatus.NotFound => Results.NotFound(new { error = "Room not found" }), + ScopeResourceAdmissionStatus.Denied or ScopeResourceAdmissionStatus.ScopeMismatch => + Results.Json(new { error = "Room access denied" }, statusCode: StatusCodes.Status403Forbidden), + ScopeResourceAdmissionStatus.Unavailable => + Results.Json(new { error = "Room admission unavailable" }, statusCode: StatusCodes.Status503ServiceUnavailable), + _ => Results.Json(new { error = "Room admission failed" }, statusCode: StatusCodes.Status503ServiceUnavailable), + }; + // ─── Request DTOs ─── public sealed record CreateRoomRequest(string? RoomName); diff --git a/apps/aevatar-console-web/src/pages/gagents/index.test.tsx b/apps/aevatar-console-web/src/pages/gagents/index.test.tsx index 2535aa73b..3378c3e8f 100644 --- a/apps/aevatar-console-web/src/pages/gagents/index.test.tsx +++ b/apps/aevatar-console-web/src/pages/gagents/index.test.tsx @@ -40,7 +40,6 @@ jest.mock("@/shared/api/runtimeGAgentApi", () => ({ activateMemberBindingRevision: jest.fn(), retireScopeBindingRevision: jest.fn(), retireMemberBindingRevision: jest.fn(), - addActor: jest.fn(), removeActor: jest.fn(), streamDraftRun: jest.fn(), }, @@ -115,7 +114,6 @@ describe("GAgentsPage", () => { activateMemberBindingRevision: jest.Mock; retireScopeBindingRevision: jest.Mock; retireMemberBindingRevision: jest.Mock; - addActor: jest.Mock; removeActor: jest.Mock; streamDraftRun: jest.Mock; }; @@ -206,27 +204,6 @@ describe("GAgentsPage", () => { actorIds: [...group.actorIds], })) ); - mockedRuntimeGAgentApi.addActor.mockImplementation( - async (_scopeId: string, gAgentType: string, actorId: string) => { - const existingGroup = actorGroupsState.find( - (group) => group.gAgentType === gAgentType - ); - if (existingGroup) { - if (!existingGroup.actorIds.includes(actorId)) { - existingGroup.actorIds = [...existingGroup.actorIds, actorId]; - } - return; - } - - actorGroupsState = [ - ...actorGroupsState, - { - gAgentType, - actorIds: [actorId], - }, - ]; - } - ); mockedRuntimeGAgentApi.removeActor.mockImplementation( async (_scopeId: string, gAgentType: string, actorId: string) => { actorGroupsState = actorGroupsState @@ -296,7 +273,7 @@ describe("GAgentsPage", () => { expect((await screen.findAllByDisplayValue("planner-1")).length).toBeGreaterThan(0); }); - it("adds and removes saved actors from the registry", async () => { + it("does not expose direct actor registration from the registry drawer", async () => { window.history.replaceState( {}, "", @@ -313,31 +290,21 @@ describe("GAgentsPage", () => { }); fireEvent.click(await screen.findByRole("button", { name: "Manage actors" })); expect((await screen.findAllByText("Actor Registry")).length).toBeGreaterThan(0); - fireEvent.change(screen.getByLabelText("Registry actor id"), { - target: { value: "orders-2" }, - }); - fireEvent.click(screen.getByRole("button", { name: "Save actor" })); - await waitFor(() => { - expect(mockedRuntimeGAgentApi.addActor).toHaveBeenCalledWith( - "scope-a", - "Tests.OrdersGAgent", - "orders-2" - ); - }); - expect(await screen.findByDisplayValue("orders-2")).toBeTruthy(); + expect(screen.queryByRole("button", { name: "Save actor" })).toBeNull(); + expect(screen.queryByLabelText("Registry actor id")).toBeNull(); - fireEvent.click(screen.getAllByRole("button", { name: "Remove" })[1]); + fireEvent.click(screen.getAllByRole("button", { name: "Remove" })[0]); await waitFor(() => { expect(mockedRuntimeGAgentApi.removeActor).toHaveBeenCalledWith( "scope-a", "Tests.OrdersGAgent", - "orders-2" + "orders-1" ); }); await waitFor(() => { - expect(screen.queryByDisplayValue("orders-2")).toBeNull(); + expect(screen.queryByDisplayValue("orders-1")).toBeNull(); }); }); diff --git a/apps/aevatar-console-web/src/pages/gagents/index.tsx b/apps/aevatar-console-web/src/pages/gagents/index.tsx index ad62ef585..9f7890de6 100644 --- a/apps/aevatar-console-web/src/pages/gagents/index.tsx +++ b/apps/aevatar-console-web/src/pages/gagents/index.tsx @@ -409,7 +409,6 @@ const GAgentsPage: React.FC = () => { readQueryValue('actorId') ? 'existing' : 'new', ); const [prompt, setPrompt] = useState(''); - const [registryActorIdInput, setRegistryActorIdInput] = useState(''); const [registryNotice, setRegistryNotice] = useState( null, ); @@ -807,43 +806,6 @@ const GAgentsPage: React.FC = () => { } }; - const handleSaveRegistryActor = async () => { - const actorId = registryActorIdInput.trim(); - if (!normalizedScopeId || !selectedActorStoreTypeName || !actorId) { - setRegistryNotice({ - type: 'error', - message: - 'Select a scope, choose a GAgent type, and enter an actor id before saving.', - }); - return; - } - - setRegistryPendingKey(`save:${actorId}`); - setRegistryNotice(null); - try { - await runtimeGAgentApi.addActor( - normalizedScopeId, - selectedActorStoreTypeName, - actorId, - ); - await invalidateActorQueries(normalizedScopeId); - setActorReuseMode('existing'); - setPreferredActorId(actorId); - setRegistryActorIdInput(''); - setRegistryNotice({ - type: 'success', - message: `Saved ${actorId} under ${selectedType?.typeName || selectedActorStoreTypeName}.`, - }); - } catch (error) { - setRegistryNotice({ - type: 'error', - message: describeError(error), - }); - } finally { - setRegistryPendingKey(''); - } - }; - const handleUseRegistryActor = (actorTypeName: string, actorId: string) => { handleSelectType(actorTypeName); setActorReuseMode('existing'); @@ -1769,37 +1731,6 @@ const GAgentsPage: React.FC = () => { /> ) : null} - setRegistryActorIdInput(event.target.value)} - placeholder={ - selectedType - ? `Save actor id for ${selectedType.typeName}` - : 'Select a GAgent type before saving an actor' - } - value={registryActorIdInput} - /> - - - - {selectedType - ? `Saving under ${selectedType.fullName}.` - : 'Saved actors follow the currently selected GAgent type.'} - - - {gAgentActorsQuery.error ? ( { const fetchMock = jest.fn().mockResolvedValue({ ok: true, status: 200, - json: async () => [ - { - gAgentType: "Tests.OrdersGAgent", - actorIds: ["orders-1", "orders-2"], - }, - ], + json: async () => ({ + scopeId: "scope-1", + stateVersion: 42, + groups: [ + { + gAgentType: "Tests.OrdersGAgent", + actorIds: ["orders-1", "orders-2"], + }, + ], + }), } as Response); global.fetch = fetchMock as typeof global.fetch; @@ -82,31 +86,29 @@ describe("runtimeGAgentApi", () => { expect(input).toBe("/api/scopes/scope-1/gagent-actors"); }); - it("persists a saved actor for the current scope", async () => { + it("keeps compatibility with legacy saved actor arrays", async () => { const fetchMock = jest.fn().mockResolvedValue({ ok: true, status: 200, - text: async () => "", + json: async () => [ + { + gAgentType: "Tests.OrdersGAgent", + actorIds: ["orders-1"], + }, + ], } as Response); global.fetch = fetchMock as typeof global.fetch; - await expect( - runtimeGAgentApi.addActor("scope-1", "Tests.OrdersGAgent", "orders-3") - ).resolves.toBeUndefined(); + await expect(runtimeGAgentApi.listActors("scope-1")).resolves.toEqual([ + { + gAgentType: "Tests.OrdersGAgent", + actorIds: ["orders-1"], + }, + ]); + }); - const [input, init] = fetchMock.mock.calls[0] as [ - string, - RequestInit | undefined, - ]; - expect(input).toBe("/api/scopes/scope-1/gagent-actors"); - expect(init?.method).toBe("POST"); - expect(new Headers(init?.headers).get("Authorization")).toBe( - "Bearer access-token" - ); - expect(JSON.parse(String(init?.body))).toEqual({ - gagentType: "Tests.OrdersGAgent", - actorId: "orders-3", - }); + it("does not expose direct actor registration", () => { + expect("addActor" in runtimeGAgentApi).toBe(false); }); it("removes a saved actor for the current scope", async () => { diff --git a/apps/aevatar-console-web/src/shared/api/runtimeGAgentApi.ts b/apps/aevatar-console-web/src/shared/api/runtimeGAgentApi.ts index e806dc73b..70484d656 100644 --- a/apps/aevatar-console-web/src/shared/api/runtimeGAgentApi.ts +++ b/apps/aevatar-console-web/src/shared/api/runtimeGAgentApi.ts @@ -71,6 +71,24 @@ function decodeGAgentActorGroup( }; } +function decodeGAgentActorGroupsResponse(value: unknown): RuntimeGAgentActorGroup[] { + if (Array.isArray(value)) { + return expectArray( + value, + "RuntimeGAgentActorGroup[]", + decodeGAgentActorGroup + ); + } + + const record = expectRecord(value, "RuntimeGAgentActorSnapshot"); + const groups = record.groups ?? record.Groups; + return expectArray( + groups, + "RuntimeGAgentActorSnapshot.groups", + decodeGAgentActorGroup + ); +} + function readImplementationKindValue( record: Record, label: string @@ -271,8 +289,7 @@ export const runtimeGAgentApi = { listActors(scopeId: string): Promise { return requestJson( `/api/scopes/${encodeURIComponent(scopeId)}/gagent-actors`, - (value) => - expectArray(value, "RuntimeGAgentActorGroup[]", decodeGAgentActorGroup) + decodeGAgentActorGroupsResponse ); }, @@ -371,31 +388,6 @@ export const runtimeGAgentApi = { return this.retireScopeBindingRevision(scopeId, revisionId); }, - async addActor( - scopeId: string, - gAgentType: string, - actorId: string - ): Promise { - const response = await authFetch( - `/api/scopes/${encodeURIComponent(scopeId)}/gagent-actors`, - { - method: "POST", - headers: { - Accept: "application/json", - "Content-Type": "application/json", - }, - body: JSON.stringify({ - gagentType: gAgentType.trim(), - actorId: actorId.trim(), - }), - } - ); - - if (!response.ok) { - throw new Error(await readResponseError(response)); - } - }, - async removeActor( scopeId: string, gAgentType: string, diff --git a/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.css b/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.css index fefcd1eea..1c4bb3e12 100644 --- a/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.css +++ b/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.css @@ -1 +1 @@ -.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor .synthetic-focus,.monaco-diff-editor .synthetic-focus,.monaco-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-editor [tabindex="-1"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-editor button:focus,.monaco-diff-editor button:focus,.monaco-editor input[type=button]:focus,.monaco-diff-editor input[type=button]:focus,.monaco-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-editor input[type=search]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-editor input[type=text]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-editor select:focus,.monaco-diff-editor select:focus,.monaco-editor textarea:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .editorCanvas{position:absolute;width:100%;height:100%;z-index:0;pointer-events:none}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar{background:var(--vscode-scrollbar-background)}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-mouse-cursor-text{cursor:text}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{-moz-user-select:text;user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{-moz-user-select:initial;user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{box-sizing:border-box;position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px;pointer-events:none}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.minimap-autohide-mouseover,.minimap.minimap-autohide-scroll{opacity:0;transition:opacity .5s}.minimap.minimap-autohide-scroll{pointer-events:none}.minimap.minimap-autohide-mouseover:hover,.minimap.minimap-autohide-scroll.active{opacity:1;pointer-events:auto}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .monaco-decoration-css-rule-extractor{visibility:hidden;pointer-events:none}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .native-edit-context{margin:0;padding:0;position:absolute;overflow-y:scroll;scrollbar-width:none;z-index:-10;white-space:pre-wrap}.monaco-editor .ime-text-area{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .edit-context-composition-none{background-color:transparent;border-bottom:none}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-secondary{border-bottom:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-primary{border-bottom:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-secondary{border:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-primary{border:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor .margin-view-overlays .gpu-mark{position:absolute;top:0;bottom:0;left:0;width:100%;display:inline-block;border-left:solid 2px var(--vscode-editorWarning-foreground);opacity:.2;transition:background-color .1s linear}.monaco-editor .margin-view-overlays .gpu-mark:hover{background-color:var(--vscode-editorWarning-foreground)}.monaco-hover.workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:5px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-hover.workbench-hover .monaco-action-bar .action-item .codicon{width:13px;height:13px}.monaco-hover.workbench-hover hr{border-bottom:none}.monaco-hover.workbench-hover.compact{font-size:12px}.monaco-hover.workbench-hover.compact .monaco-action-bar .action-item .codicon{width:12px;height:12px}.monaco-hover.workbench-hover.compact .hover-contents{padding:2px 8px}.workbench-hover-container.locked .monaco-hover.workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.workbench-hover-container:focus-within.locked .monaco-hover.workbench-hover{outline-color:var(--vscode-focusBorder)}.workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.workbench-hover-container:focus-within .workbench-hover-pointer:after{border-right:1px solid var(--vscode-focusBorder);border-bottom:1px solid var(--vscode-focusBorder)}.workbench-hover-pointer.left{left:-3px}.workbench-hover-pointer.right{right:3px}.workbench-hover-pointer.top{top:-3px}.workbench-hover-pointer.bottom{bottom:3px}.workbench-hover-pointer.left:after{transform:rotate(135deg)}.workbench-hover-pointer.right:after{transform:rotate(315deg)}.workbench-hover-pointer.top:after{transform:rotate(225deg)}.workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-hover.workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-hover.workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-hover.workbench-hover a.codicon:focus,.monaco-hover.workbench-hover a.monaco-button:focus{text-decoration:none}.monaco-hover.workbench-hover a:hover,.monaco-hover.workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-hover.workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-hover.workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-hover.workbench-hover.right-aligned{left:1px}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.monaco-hover{cursor:default;position:absolute;overflow:hidden;-moz-user-select:text;user-select:text;-webkit-user-select:text;box-sizing:border-box;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.fade-in{animation:fadein .1s linear}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px;vertical-align:middle}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);-webkit-text-decoration:var(--text-link-decoration);text-decoration:var(--text-link-decoration)}.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon{color:var(--vscode-textLink-foreground)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) p:last-child [style*=background-color]{margin-bottom:4px;display:inline-block}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;-moz-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-hover .action-container,.monaco-hover .action,.monaco-hover button,.monaco-hover .monaco-button,.monaco-hover .monaco-text-button,.monaco-hover [role=button]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:3px;min-height:24px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000;background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-list-focusOutline);outline-offset:-1px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label:not(.icon),.monaco-action-bar .action-item.disabled .action-label:not(.icon):before,.monaco-action-bar .action-item.disabled .action-label:not(.icon):hover{color:var(--vscode-disabledForeground)}.monaco-action-bar .action-item.disabled .action-label.icon,.monaco-action-bar .action-item.disabled .action-label.icon:before,.monaco-action-bar .action-item.disabled .action-label.icon:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid var(--vscode-disabledForeground);padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:var(--vscode-disabledForeground)}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{color:var(--vscode-descriptionForeground);overflow:hidden;border-radius:2px}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:", "}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center;border-radius:2px;padding-right:2px}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{cursor:grab;display:flex;align-items:center;border-top-right-radius:5px;border-top-left-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-inline-action-bar>.actions-container>.action-item:first-child{margin-left:5px}.quick-input-inline-action-bar>.actions-container>.action-item{margin-top:2px}.quick-input-title{cursor:grab;padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-right-action-bar>.actions-container>.action-item{margin-left:4px}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{cursor:grab;display:flex;padding:6px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-widget .quick-input-header .monaco-checkbox{margin-top:6px}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 6px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-widget .monaco-checkbox{margin-right:0}.quick-input-widget .quick-input-list .monaco-checkbox,.quick-input-widget .quick-input-tree .monaco-checkbox{margin-top:4px}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.quick-input-list>.monaco-list:focus .monaco-list-row.focused .quick-input-list-entry.quick-input-list-separator-border{border-color:transparent}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.quick-input-tree .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-tree .quick-input-tree-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-tree .quick-input-tree-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-tree .quick-input-tree-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-tree .quick-input-tree-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row{display:flex;align-items:center}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label,.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-tree .quick-input-tree-rows .monaco-highlighted-label>span{opacity:1}.quick-input-tree .quick-input-tree-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-tree .quick-input-tree-entry-action-bar .action-label{display:none}.quick-input-tree .quick-input-tree-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .action-label.always-visible,.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .action-label{display:flex}.quick-input-tree>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 5px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-iconpath{width:16px;height:22px;margin-right:6px;display:flex}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-weight:700}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent;opacity:0}.monaco-enable-motion .monaco-tl-indent>.indent-guide{transition:opacity .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;right:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 10px 0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-enable-motion .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:0px;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-enable-motion .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-enable-motion .monaco-table>.monaco-split-view2,.monaco-enable-motion .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review{-moz-user-select:none;user-select:none;-webkit-user-select:none;z-index:99}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-component.diff-review .action-label{background:var(--vscode-editorActionList-background)}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-toolbar.responsive .monaco-action-bar>.actions-container>.action-item{flex-shrink:1;min-width:20px}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-separatorBackground) solid}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:-moz-fit-content;height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{width:-moz-fit-content;width:fit-content;border-radius:4px;background:var(--vscode-editorGutter-itemBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{color:var(--vscode-editorGutter-itemGlyphForeground);padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{display:flex;height:11px}.monaco-diff-editor .diff-hidden-lines-compact .line-left,.monaco-diff-editor .diff-hidden-lines-compact .line-right{height:1px;border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;margin:auto;width:100%}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;font-size:11px;line-height:11px;margin:0 4px}.monaco-editor .line-delete-selectable{-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important;z-index:1!important}.line-delete-selectable .view-line{-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);position:relative;height:100%;width:100%;overflow-y:hidden}.monaco-component.multiDiffEditor>div{position:absolute;top:0;left:0;height:100%;width:100%}.monaco-component.multiDiffEditor>div.placeholder{visibility:hidden;display:grid;place-items:center;place-content:center}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border: var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{margin:8px 0 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column;border-bottom:1px solid var(--vscode-multiDiffEditor-border);overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.action-widget{font-size:13px;min-width:100px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-menu-border)!important;border-radius:5px;background-color:var(--vscode-menu-background);color:var(--vscode-menu-foreground);padding:4px;box-shadow:0 2px 8px var(--vscode-widget-shadow)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 4px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%;border-radius:3px}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-list-activeSelectionBackground)!important;color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600;font-size:13px}.action-widget .monaco-list-row.group-header:not(:first-of-type){margin-top:2px}.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator{border-top:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-descriptionForeground);font-size:12px;padding:0;margin:4px 0 0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:0}.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator.focused{outline:0 solid;background-color:transparent;border-radius:0}.action-widget .monaco-list-row.separator:first-of-type{border-top:none;margin-top:0}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:4px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.action-widget .action-widget-action-bar{background-color:var(--vscode-menu-background);border-top:1px solid var(--vscode-menu-border);margin-top:2px}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:4px 8px 2px 24px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:13px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.action-widget .monaco-list .monaco-list-row .description{opacity:.7;margin-left:.5em}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;color:var(--vscode-button-foreground);background-color:var(--vscode-button-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-hoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}@font-face{font-family:codicon;font-display:block;src:url(/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-user-select:none;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;z-index:1}.monaco-editor .glyph-margin-widgets .cgmr[class*=codicon-gutter-lightbulb]{display:block;cursor:pointer}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-flex!important;align-items:center;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{-moz-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub;display:inline-flex;align-items:center}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon[class*=codicon-]{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.monaco-editor .inlineSuggestionsHints{padding:4px}.monaco-editor .inlineSuggestionsHints .warningMessage p{margin:0}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)!important}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground);border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:var(--vscode-editorWidget-background)}.monaco-reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px;outline-color:var(--vscode-focusBorder)}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important;background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);padding:1px;box-sizing:border-box}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{left:0!important;background-color:var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border))}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.colorpicker-widget{height:190px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{color:var(--vscode-peekViewResult-fileForeground)!important;background-color:var(--vscode-peekViewResult-matchHighlightBackground)!important}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.chat-attached-context-attachment .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-resizable-hover{border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;box-sizing:content-box}.monaco-editor .monaco-resizable-hover>.monaco-hover{border:none;border-radius:none}.monaco-editor .monaco-hover{border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background)}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row{display:flex}.monaco-editor .monaco-hover .hover-row.hover-row-with-copy{position:relative;padding-right:20px}.monaco-editor .monaco-hover .hover-row .hover-row-contents{min-width:0;display:flex;flex-direction:column}.monaco-editor .monaco-hover .hover-row .verbosity-actions{border-right:1px solid var(--vscode-editorHoverWidget-border);width:22px;overflow-y:clip}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner{display:flex;flex-direction:column;padding-left:5px;padding-right:5px;justify-content:flex-end;position:relative}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon{cursor:pointer;font-size:11px}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.enabled{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.disabled{opacity:.6}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .monaco-hover .hover-copy-button{position:absolute;top:4px;right:4px;padding:2px 4px;border-radius:3px;display:flex;align-items:center;justify-content:center;opacity:0}.monaco-editor .monaco-hover .hover-row-with-copy:hover .hover-copy-button,.monaco-editor .monaco-hover .hover-row-with-copy:focus-within .hover-copy-button{opacity:1}.monaco-editor .monaco-hover .hover-copy-button:hover{background-color:var(--vscode-toolbar-hoverBackground);cursor:pointer}.monaco-editor .monaco-hover .hover-copy-button:focus{outline:1px solid var(--vscode-focusBorder);outline-offset:-1px}.monaco-editor .monaco-hover .hover-copy-button .codicon{font-size:16px;color:var(--vscode-foreground)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:var(--vscode-editor-foldPlaceholderForeground);margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details:focus{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 4px 5px}.monaco-editor .suggest-details.detail-and-doc>.monaco-scrollable-element>.body>.header>.type{padding-bottom:12px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .suggest-preview-text.clickable .view-line{z-index:1}.monaco-editor .ghost-text-decoration.clickable,.monaco-editor .ghost-text-decoration-preview.clickable,.monaco-editor .suggest-preview-text.clickable .ghost-text{cursor:pointer}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .ghost-text-decoration.syntax-highlighted,.monaco-editor .ghost-text-decoration-preview.syntax-highlighted,.monaco-editor .suggest-preview-text .ghost-text.syntax-highlighted{opacity:.7}.monaco-editor .ghost-text-decoration:not(.syntax-highlighted),.monaco-editor .ghost-text-decoration-preview:not(.syntax-highlighted),.monaco-editor .suggest-preview-text .ghost-text:not(.syntax-highlighted){color:var(--vscode-editorGhostText-foreground)}.monaco-editor .ghost-text-decoration.warning,.monaco-editor .ghost-text-decoration-preview.warning,.monaco-editor .suggest-preview-text .ghost-text.warning{background:var(--monaco-editor-warning-decoration) repeat-x bottom left;border-bottom:4px double var(--vscode-editorWarning-border)}.ghost-text-view-warning-widget-icon .codicon{color:var(--vscode-editorWarning-foreground)!important}.monaco-editor .edits-fadeout-decoration{opacity:var(--animation-opacity, 1);background-color:var(--vscode-inlineEdit-modifiedChangedTextBackground)}.monaco-editor .sticky-widget{overflow:hidden;border-bottom:1px solid var(--vscode-editorStickyScroll-border);width:100%;box-shadow:var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;z-index:4;right:initial!important;margin-left:"0px"}.monaco-editor .sticky-widget .sticky-widget-line-numbers{float:left;background-color:var(--vscode-editorStickyScrollGutter-background)}.monaco-editor .sticky-widget.peek .sticky-widget-line-numbers{background-color:var(--vscode-peekViewEditorStickyScrollGutter-background)}.monaco-editor .sticky-widget .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek .sticky-widget-lines-scrollable{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .sticky-widget .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-widget .sticky-line-number,.monaco-editor .sticky-widget .sticky-line-content{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-expanded,.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-collapsed{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition);position:absolute;margin-left:2px}.monaco-editor .sticky-widget .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-widget .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .inline-edits-view-indicator{display:flex;z-index:34;height:20px;color:var(--vscode-inlineEdit-gutterIndicator-primaryForeground);background-color:var(--vscode-inlineEdit-gutterIndicator-background);border:1px solid var(--vscode-inlineEdit-gutterIndicator-primaryBorder);border-radius:3px;align-items:center;padding:2px 10px 2px 2px;margin:0 4px;opacity:0}.monaco-editor .inline-edits-view-indicator.contained{transition:opacity .2s ease-in-out;transition-delay:.4s}.monaco-editor .inline-edits-view-indicator.visible,.monaco-editor .inline-edits-view-indicator.top{opacity:1}.monaco-editor .inline-edits-view-indicator.top .icon{transform:rotate(90deg)}.monaco-editor .inline-edits-view-indicator.bottom{opacity:1}.monaco-editor .inline-edits-view-indicator.bottom .icon{transform:rotate(-90deg)}.monaco-editor .inline-edits-view-indicator .icon{display:flex;align-items:center;margin:0 2px;transform:none;transition:transform .2s ease-in-out}.monaco-editor .inline-edits-view-indicator .icon .codicon{color:var(--vscode-inlineEdit-gutterIndicator-primaryForeground)}.monaco-editor .inline-edits-view-indicator .label{margin:0 2px;display:flex;justify-content:center;width:100%}.monaco-editor .inline-edits-view .editorContainer .preview .monaco-editor .view-overlays .current-line-exact,.monaco-editor .inline-edits-view .editorContainer .preview .monaco-editor .current-line-margin{border:none}.monaco-editor .inline-edits-view .editorContainer .inline-edits-view-zone.diagonal-fill{opacity:.5}.monaco-editor .strike-through{text-decoration:line-through}.monaco-editor .inlineCompletions-line-insert{background:var(--vscode-inlineEdit-modifiedChangedLineBackground)}.monaco-editor .inlineCompletions-line-delete{background:var(--vscode-inlineEdit-originalChangedLineBackground)}.monaco-editor .inlineCompletions-char-insert{background:var(--vscode-inlineEdit-modifiedChangedTextBackground);cursor:pointer}.monaco-editor .inlineCompletions-char-delete{background:var(--vscode-inlineEdit-originalChangedTextBackground)}.monaco-editor .inlineCompletions-char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-inlineEdit-originalChangedTextBackground) 3px}.monaco-editor .inlineCompletions-char-insert.diff-range-empty{border-left:solid var(--vscode-inlineEdit-modifiedChangedTextBackground) 3px}.monaco-editor .inlineCompletions-char-delete.single-line-inline{border:1px solid var(--vscode-editorHoverWidget-border);margin:-2px 0 0 -2px}.monaco-editor .inlineCompletions-char-insert.single-line-inline{border-top:1px solid var(--vscode-inlineEdit-modifiedBorder);border-bottom:1px solid var(--vscode-inlineEdit-modifiedBorder)}.monaco-editor .inlineCompletions-char-insert.single-line-inline.start{border-top-left-radius:4px;border-bottom-left-radius:4px;border-left:1px solid var(--vscode-inlineEdit-modifiedBorder)}.monaco-editor .inlineCompletions-char-insert.single-line-inline.end{border-top-right-radius:4px;border-bottom-right-radius:4px;border-right:1px solid var(--vscode-inlineEdit-modifiedBorder)}.monaco-editor .inlineCompletions-char-delete.single-line-inline.empty,.monaco-editor .inlineCompletions-char-insert.single-line-inline.empty{display:none}.monaco-editor .inlineCompletions.strike-through{text-decoration-thickness:1px}.monaco-editor .inlineCompletions-modified-bubble{background:var(--vscode-inlineEdit-modifiedChangedTextBackground)}.monaco-editor .inlineCompletions-original-bubble{background:var(--vscode-inlineEdit-originalChangedTextBackground)}.monaco-editor .inlineCompletions-modified-bubble,.monaco-editor .inlineCompletions-original-bubble{pointer-events:none;display:inline-block}.monaco-editor .inline-edit.ghost-text,.monaco-editor .inline-edit.ghost-text-decoration,.monaco-editor .inline-edit.ghost-text-decoration-preview,.monaco-editor .inline-edit.suggest-preview-text .ghost-text{font-style:normal!important}.monaco-editor .inline-edit.ghost-text.syntax-highlighted,.monaco-editor .inline-edit.ghost-text-decoration.syntax-highlighted,.monaco-editor .inline-edit.ghost-text-decoration-preview.syntax-highlighted,.monaco-editor .inline-edit.suggest-preview-text .ghost-text.syntax-highlighted{opacity:1!important}.monaco-editor .inline-edit.modified-background.ghost-text,.monaco-editor .inline-edit.modified-background.ghost-text-decoration,.monaco-editor .inline-edit.modified-background.ghost-text-decoration-preview,.monaco-editor .inline-edit.modified-background.suggest-preview-text .ghost-text{background:var(--vscode-inlineEdit-modifiedChangedTextBackground)!important;display:inline-block!important}.monaco-editor .inlineCompletions-original-lines{background:var(--vscode-editor-background)}.monaco-menu-option{color:var(--vscode-editorActionList-foreground);font-size:13px;padding:0 4px;line-height:28px;display:flex;gap:4px;align-items:center;border-radius:3px;cursor:pointer}.monaco-menu-option .monaco-keybinding-key{font-size:13px;opacity:.7}.monaco-menu-option.active{background:var(--vscode-editorActionList-focusBackground);color:var(--vscode-editorActionList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.monaco-menu-option.active .monaco-keybinding-key{color:var(--vscode-editorActionList-focusForeground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .scroll-editor-on-middle-click-dot{cursor:all-scroll;position:absolute;z-index:1;background-color:var(--vscode-editor-foreground, white);border:1px solid var(--vscode-editor-background, black);opacity:.5;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%)}.monaco-editor .scroll-editor-on-middle-click-dot.hidden{display:none}.monaco-editor.scroll-editor-on-middle-click-editor *{cursor:all-scroll}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .code{font-family:var(--vscode-parameterHintsWidget-editorFontFamily),var(--vscode-parameterHintsWidget-editorFontFamilyDefault)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .editorPlaceholder{top:0;position:absolute;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;pointer-events:none;color:var(--vscode-editor-placeholder-foreground)}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input-with-button{padding:3px;border-radius:2px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input{width:calc(100% - 8px);padding:0}.monaco-editor .rename-box .rename-input:focus{outline:none}.monaco-editor .rename-box .rename-suggestions-button{display:flex;align-items:center;padding:3px;background-color:transparent;border:none;border-radius:5px;cursor:pointer}.monaco-editor .rename-box .rename-suggestions-button:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row{border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.floating-menu-overlay-widget{padding:0;color:var(--vscode-button-foreground);background-color:var(--vscode-button-background);border-radius:2px;border:1px solid var(--vscode-contrastBorder);display:flex;align-items:center;z-index:10;box-shadow:0 2px 8px var(--vscode-widget-shadow);overflow:hidden}.floating-menu-overlay-widget .action-item>.action-label{padding:5px;font-size:12px;border-radius:2px}.floating-menu-overlay-widget .action-item>.action-label.codicon{color:var(--vscode-button-foreground)}.floating-menu-overlay-widget .action-item>.action-label.codicon:not(.separator){padding-top:6px;padding-bottom:6px}.floating-menu-overlay-widget .action-item:first-child>.action-label{padding-left:7px}.floating-menu-overlay-widget .action-item:last-child>.action-label{padding-right:7px}.floating-menu-overlay-widget .action-item .action-label.separator{background-color:var(--vscode-menu-separatorBackground)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#f7f6f3;color:#1f2328;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-4{top:1rem}.top-full{top:100%}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.\!mt-0{margin-top:0!important}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[52px\]{height:52px}.h-\[65vh\]{height:65vh}.h-\[88px\]{height:88px}.h-full{height:100%}.h-screen{height:100vh}.\!max-h-\[70vh\]{max-height:70vh!important}.max-h-\[100px\]{max-height:100px}.max-h-\[120px\]{max-height:120px}.max-h-\[140px\]{max-height:140px}.max-h-\[180px\]{max-height:180px}.max-h-\[220px\]{max-height:220px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[400px\]{max-height:400px}.max-h-\[420px\]{max-height:420px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[560px\]{max-height:560px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[620px\]{max-height:620px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[calc\(100\%-136px\)\]{max-height:calc(100% - 136px)}.max-h-\[calc\(100\%-180px\)\]{max-height:calc(100% - 180px)}.\!min-h-\[112px\]{min-height:112px!important}.\!min-h-\[280px\]{min-height:280px!important}.\!min-h-\[32px\]{min-height:32px!important}.\!min-h-\[34px\]{min-height:34px!important}.\!min-h-\[400px\]{min-height:400px!important}.\!min-h-\[40px\]{min-height:40px!important}.\!min-h-\[88px\]{min-height:88px!important}.\!min-h-\[96px\]{min-height:96px!important}.min-h-0{min-height:0px}.min-h-\[180px\]{min-height:180px}.min-h-\[300px\]{min-height:300px}.min-h-\[320px\]{min-height:320px}.min-h-\[400px\]{min-height:400px}.min-h-\[420px\]{min-height:420px}.min-h-\[82px\]{min-height:82px}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1\.5{width:.375rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-\[236px\]{width:236px}.w-\[240px\]{width:240px}.w-\[260px\]{width:260px}.w-\[268px\]{width:268px}.w-\[2px\]{width:2px}.w-\[320px\]{width:320px}.w-\[34px\]{width:34px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[56px\]{width:56px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[240px\]{min-width:240px}.min-w-\[56px\]{min-width:56px}.max-w-3xl{max-width:48rem}.max-w-\[1040px\]{max-width:1040px}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[460px\]{max-width:460px}.max-w-\[500px\]{max-width:500px}.max-w-\[520px\]{max-width:520px}.max-w-\[56px\]{max-width:56px}.max-w-\[780px\]{max-width:780px}.max-w-\[80\%\]{max-width:80%}.max-w-\[82\%\]{max-width:82%}.max-w-\[85\%\]{max-width:85%}.max-w-\[88\%\]{max-width:88%}.max-w-\[920px\]{max-width:920px}.max-w-\[94\%\]{max-width:94%}.max-w-\[960px\]{max-width:960px}.max-w-\[calc\(100vw-24px\)\]{max-width:calc(100vw - 24px)}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-blink{animation:blink 1s step-end infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#EEEAE4\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(238 234 228 / var(--tw-divide-opacity, 1))}.divide-\[\#F0EDE8\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(240 237 232 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-\[18px\]{border-radius:18px!important}.\!rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[30px\]{border-radius:30px}.rounded-\[32px\]{border-radius:32px}.rounded-\[36px\]{border-radius:36px}.rounded-\[38px\]{border-radius:38px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-\[14px\]{border-bottom-right-radius:14px}.rounded-br-md{border-bottom-right-radius:.375rem}.\!border-0{border-width:0px!important}.border{border-width:1px}.border-0{border-width:0px}.border-x-\[5px\]{border-left-width:5px;border-right-width:5px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-\[5px\]{border-top-width:5px}.border-dashed{border-style:dashed}.\!border-\[\#E8E1D8\]{--tw-border-opacity: 1 !important;border-color:rgb(232 225 216 / var(--tw-border-opacity, 1))!important}.border-\[\#18181B\]{--tw-border-opacity: 1;border-color:rgb(24 24 27 / var(--tw-border-opacity, 1))}.border-\[\#D8D1C7\]{--tw-border-opacity: 1;border-color:rgb(216 209 199 / var(--tw-border-opacity, 1))}.border-\[\#D9E5CB\]{--tw-border-opacity: 1;border-color:rgb(217 229 203 / var(--tw-border-opacity, 1))}.border-\[\#DCE8C8\]{--tw-border-opacity: 1;border-color:rgb(220 232 200 / var(--tw-border-opacity, 1))}.border-\[\#E5DED3\]{--tw-border-opacity: 1;border-color:rgb(229 222 211 / var(--tw-border-opacity, 1))}.border-\[\#E6E0D6\]{--tw-border-opacity: 1;border-color:rgb(230 224 214 / var(--tw-border-opacity, 1))}.border-\[\#E6E0D7\]{--tw-border-opacity: 1;border-color:rgb(230 224 215 / var(--tw-border-opacity, 1))}.border-\[\#E6E3DE\]{--tw-border-opacity: 1;border-color:rgb(230 227 222 / var(--tw-border-opacity, 1))}.border-\[\#E7E1D9\]{--tw-border-opacity: 1;border-color:rgb(231 225 217 / var(--tw-border-opacity, 1))}.border-\[\#E8E2D9\]{--tw-border-opacity: 1;border-color:rgb(232 226 217 / var(--tw-border-opacity, 1))}.border-\[\#E8E4DD\]{--tw-border-opacity: 1;border-color:rgb(232 228 221 / var(--tw-border-opacity, 1))}.border-\[\#E9D6AE\]{--tw-border-opacity: 1;border-color:rgb(233 214 174 / var(--tw-border-opacity, 1))}.border-\[\#EADBB8\]{--tw-border-opacity: 1;border-color:rgb(234 219 184 / var(--tw-border-opacity, 1))}.border-\[\#EAE4DB\]{--tw-border-opacity: 1;border-color:rgb(234 228 219 / var(--tw-border-opacity, 1))}.border-\[\#EAE5DE\]{--tw-border-opacity: 1;border-color:rgb(234 229 222 / var(--tw-border-opacity, 1))}.border-\[\#ECE7DF\]{--tw-border-opacity: 1;border-color:rgb(236 231 223 / var(--tw-border-opacity, 1))}.border-\[\#EEEAE4\]{--tw-border-opacity: 1;border-color:rgb(238 234 228 / var(--tw-border-opacity, 1))}.border-\[\#F0D7A5\]{--tw-border-opacity: 1;border-color:rgb(240 215 165 / var(--tw-border-opacity, 1))}.border-\[\#F0D7D0\]{--tw-border-opacity: 1;border-color:rgb(240 215 208 / var(--tw-border-opacity, 1))}.border-\[\#F0ECE5\]{--tw-border-opacity: 1;border-color:rgb(240 236 229 / var(--tw-border-opacity, 1))}.border-\[\#F0EDE8\]{--tw-border-opacity: 1;border-color:rgb(240 237 232 / var(--tw-border-opacity, 1))}.border-\[\#F1EAE2\]{--tw-border-opacity: 1;border-color:rgb(241 234 226 / var(--tw-border-opacity, 1))}.border-\[\#F1ECE5\]{--tw-border-opacity: 1;border-color:rgb(241 236 229 / var(--tw-border-opacity, 1))}.border-\[\#F2CCC4\]{--tw-border-opacity: 1;border-color:rgb(242 204 196 / var(--tw-border-opacity, 1))}.border-\[\#F2EEE8\]{--tw-border-opacity: 1;border-color:rgb(242 238 232 / var(--tw-border-opacity, 1))}.border-\[\#F2F1EE\]{--tw-border-opacity: 1;border-color:rgb(242 241 238 / var(--tw-border-opacity, 1))}.border-\[\#F3D3CD\]{--tw-border-opacity: 1;border-color:rgb(243 211 205 / var(--tw-border-opacity, 1))}.border-\[color\:var\(--accent-border\)\]{border-color:var(--accent-border)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-black\/10{border-color:#0000001a}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-violet-200{--tw-border-opacity: 1;border-color:rgb(221 214 254 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-white\/35{border-color:#ffffff59}.border-x-transparent{border-left-color:transparent;border-right-color:transparent}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-gray-800{--tw-border-opacity: 1;border-top-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.\!bg-\[\#FAF8F4\]{--tw-bg-opacity: 1 !important;background-color:rgb(250 248 244 / var(--tw-bg-opacity, 1))!important}.\!bg-transparent{background-color:transparent!important}.\!bg-white{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))!important}.bg-\[\#18181B\]{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-\[\#1A1A1A\]{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.bg-\[\#2563EB\]{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-\[\#DBEAFE\]{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-\[\#EBF0FF\]{--tw-bg-opacity: 1;background-color:rgb(235 240 255 / var(--tw-bg-opacity, 1))}.bg-\[\#ECE8FF\]{--tw-bg-opacity: 1;background-color:rgb(236 232 255 / var(--tw-bg-opacity, 1))}.bg-\[\#ECEAE6\]{--tw-bg-opacity: 1;background-color:rgb(236 234 230 / var(--tw-bg-opacity, 1))}.bg-\[\#EEF3FF\]{--tw-bg-opacity: 1;background-color:rgb(238 243 255 / var(--tw-bg-opacity, 1))}.bg-\[\#F0EDE8\]{--tw-bg-opacity: 1;background-color:rgb(240 237 232 / var(--tw-bg-opacity, 1))}.bg-\[\#F2F1EE\]{--tw-bg-opacity: 1;background-color:rgb(242 241 238 / var(--tw-bg-opacity, 1))}.bg-\[\#F3EFE9\]{--tw-bg-opacity: 1;background-color:rgb(243 239 233 / var(--tw-bg-opacity, 1))}.bg-\[\#F3F0EA\]{--tw-bg-opacity: 1;background-color:rgb(243 240 234 / var(--tw-bg-opacity, 1))}.bg-\[\#F4F0EA\]{--tw-bg-opacity: 1;background-color:rgb(244 240 234 / var(--tw-bg-opacity, 1))}.bg-\[\#F5FBEE\]{--tw-bg-opacity: 1;background-color:rgb(245 251 238 / var(--tw-bg-opacity, 1))}.bg-\[\#F6F2FF\]{--tw-bg-opacity: 1;background-color:rgb(246 242 255 / var(--tw-bg-opacity, 1))}.bg-\[\#F7EDE4\]{--tw-bg-opacity: 1;background-color:rgb(247 237 228 / var(--tw-bg-opacity, 1))}.bg-\[\#F7F2E8\]{--tw-bg-opacity: 1;background-color:rgb(247 242 232 / var(--tw-bg-opacity, 1))}.bg-\[\#F7F5F2\]{--tw-bg-opacity: 1;background-color:rgb(247 245 242 / var(--tw-bg-opacity, 1))}.bg-\[\#FAF8F4\]{--tw-bg-opacity: 1;background-color:rgb(250 248 244 / var(--tw-bg-opacity, 1))}.bg-\[\#FAFAF8\]{--tw-bg-opacity: 1;background-color:rgb(250 250 248 / var(--tw-bg-opacity, 1))}.bg-\[\#FAFAF9\]{--tw-bg-opacity: 1;background-color:rgb(250 250 249 / var(--tw-bg-opacity, 1))}.bg-\[\#FCFBF8\]{--tw-bg-opacity: 1;background-color:rgb(252 251 248 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF4F1\]{--tw-bg-opacity: 1;background-color:rgb(255 244 241 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF5F2\]{--tw-bg-opacity: 1;background-color:rgb(255 245 242 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF7E6\]{--tw-bg-opacity: 1;background-color:rgb(255 247 230 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF7E8\]{--tw-bg-opacity: 1;background-color:rgb(255 247 232 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF8EB\]{--tw-bg-opacity: 1;background-color:rgb(255 248 235 / var(--tw-bg-opacity, 1))}.bg-\[\#FFFCF8\]{--tw-bg-opacity: 1;background-color:rgb(255 252 248 / var(--tw-bg-opacity, 1))}.bg-\[var\(--accent-icon-surface\,\#EBF0FF\)\]{background-color:var(--accent-icon-surface,#EBF0FF)}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-400{--tw-bg-opacity: 1;background-color:rgb(167 139 250 / var(--tw-bg-opacity, 1))}.bg-violet-50{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/5{background-color:#ffffff0d}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from: #10b981 var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-fuchsia-500{--tw-gradient-from: #d946ef var(--tw-gradient-from-position);--tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from: #f43f5e var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-500{--tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #FF6B35 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to: #14b8a6 var(--tw-gradient-to-position)}.to-violet-500{--tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-\[52px\]{padding-left:52px}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:JetBrains Mono,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-\[2\.05\]{line-height:2.05}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#1D4ED8\]{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-\[\#315A84\]{--tw-text-opacity: 1;color:rgb(49 90 132 / var(--tw-text-opacity, 1))}.text-\[\#3B5CCC\]{--tw-text-opacity: 1;color:rgb(59 92 204 / var(--tw-text-opacity, 1))}.text-\[\#5C7A2D\]{--tw-text-opacity: 1;color:rgb(92 122 45 / var(--tw-text-opacity, 1))}.text-\[\#6D28D9\]{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-\[\#8A4B12\]{--tw-text-opacity: 1;color:rgb(138 75 18 / var(--tw-text-opacity, 1))}.text-\[\#8A877F\]{--tw-text-opacity: 1;color:rgb(138 135 127 / var(--tw-text-opacity, 1))}.text-\[\#8E6A3D\]{--tw-text-opacity: 1;color:rgb(142 106 61 / var(--tw-text-opacity, 1))}.text-\[\#9B4D19\]{--tw-text-opacity: 1;color:rgb(155 77 25 / var(--tw-text-opacity, 1))}.text-\[\#9B6A1C\]{--tw-text-opacity: 1;color:rgb(155 106 28 / var(--tw-text-opacity, 1))}.text-\[\#A55A17\]{--tw-text-opacity: 1;color:rgb(165 90 23 / var(--tw-text-opacity, 1))}.text-\[\#B15647\]{--tw-text-opacity: 1;color:rgb(177 86 71 / var(--tw-text-opacity, 1))}.text-\[\#B45309\]{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-\[color\:var\(--accent-text\)\]{color:var(--accent-text)}.text-\[var\(--accent\,\#2563eb\)\]{color:var(--accent,#2563eb)}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-violet-500{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-violet-700{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.\!no-underline{text-decoration-line:none!important}.decoration-blue-300{text-decoration-color:#93c5fd}.decoration-white\/50{text-decoration-color:#ffffff80}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[\#18181B\]{accent-color:#18181B}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.\!shadow-none{--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow-\[0_10px_20px_rgba\(17\,24\,39\,0\.05\)\]{--tw-shadow: 0 10px 20px rgba(17,24,39,.05);--tw-shadow-colored: 0 10px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_24px_rgba\(31\,28\,24\,0\.04\)\]{--tw-shadow: 0 10px 24px rgba(31,28,24,.04);--tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_rgba\(37\,99\,235\,0\.08\)\]{--tw-shadow: 0 12px 30px rgba(37,99,235,.08);--tw-shadow-colored: 0 12px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_32px_rgba\(180\,125\,44\,0\.12\)\]{--tw-shadow: 0 14px 32px rgba(180,125,44,.12);--tw-shadow-colored: 0 14px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_36px_rgba\(17\,24\,39\,0\.16\)\]{--tw-shadow: 0 18px 36px rgba(17,24,39,.16);--tw-shadow-colored: 0 18px 36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_22px_46px_rgba\(17\,24\,39\,0\.16\)\]{--tw-shadow: 0 22px 46px rgba(17,24,39,.16);--tw-shadow-colored: 0 22px 46px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_56px_rgba\(17\,24\,39\,0\.18\)\]{--tw-shadow: 0 24px 56px rgba(17,24,39,.18);--tw-shadow-colored: 0 24px 56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_26px_64px_rgba\(17\,24\,39\,0\.08\)\]{--tw-shadow: 0 26px 64px rgba(17,24,39,.08);--tw-shadow-colored: 0 26px 64px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_26px_64px_rgba\(17\,24\,39\,0\.16\)\]{--tw-shadow: 0 26px 64px rgba(17,24,39,.16);--tw-shadow-colored: 0 26px 64px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_70px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow: 0 28px 70px rgba(15,23,42,.08);--tw-shadow-colored: 0 28px 70px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_30px_72px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow: 0 30px 72px rgba(15,23,42,.08);--tw-shadow-colored: 0 30px 72px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-slate-200\/70{--tw-shadow-color: rgb(226 232 240 / .7);--tw-shadow: var(--tw-shadow-colored)}.shadow-stone-200\/60{--tw-shadow-color: rgb(231 229 228 / .6);--tw-shadow: var(--tw-shadow-colored)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#827a6e38;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#827a6e5c}.studio-rail{width:68px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px;border-right:1px solid #e8e4dd;background:#fbfaf8}.studio-shell[data-color-mode=dark] .studio-rail{border-right-color:#223047;background:#0d1422}.studio-shell{--accent: #2563eb;--accent-rgb: 37, 99, 235;--accent-strong: #1d4ed8;--accent-text: #2555c7;--accent-gradient-start: #2563eb;--accent-gradient-end: #2563eb;--accent-soft-start: #f2f6ff;--accent-soft-end: #ebf2ff;--accent-icon-surface: #e8f0ff;--accent-border: rgba(var(--accent-rgb), .22);--accent-shadow: rgba(var(--accent-rgb), .08);--accent-shadow-strong: rgba(var(--accent-rgb), .14);--accent-focus: rgba(var(--accent-rgb), .09)}.studio-shell[data-appearance=coral]{--accent: #f0483e;--accent-rgb: 240, 72, 62;--accent-strong: #df3f35;--accent-text: #f0483e;--accent-gradient-start: #f0483e;--accent-gradient-end: #f0483e;--accent-soft-start: #fff8f5;--accent-soft-end: #fff1ec;--accent-icon-surface: #ffebe4;--accent-border: rgba(var(--accent-rgb), .24);--accent-shadow: rgba(var(--accent-rgb), .08);--accent-shadow-strong: rgba(var(--accent-rgb), .14);--accent-focus: rgba(var(--accent-rgb), .08)}.studio-shell[data-appearance=forest]{--accent: #2f8f6a;--accent-rgb: 47, 143, 106;--accent-strong: #227554;--accent-text: #227554;--accent-gradient-start: #2f8f6a;--accent-gradient-end: #2f8f6a;--accent-soft-start: #f4fbf7;--accent-soft-end: #eaf7f0;--accent-icon-surface: #e4f4ea;--accent-border: rgba(var(--accent-rgb), .24);--accent-shadow: rgba(var(--accent-rgb), .08);--accent-shadow-strong: rgba(var(--accent-rgb), .14);--accent-focus: rgba(var(--accent-rgb), .1)}.studio-shell[data-color-mode=dark]{color-scheme:dark;background:#0b1220;--accent-soft-start: rgba(var(--accent-rgb), .16);--accent-soft-end: rgba(var(--accent-rgb), .24);--accent-icon-surface: rgba(var(--accent-rgb), .22);--accent-border: rgba(var(--accent-rgb), .42);--accent-shadow: rgba(var(--accent-rgb), .18);--accent-shadow-strong: rgba(var(--accent-rgb), .3);--accent-focus: rgba(var(--accent-rgb), .18)}.studio-shell[data-color-mode=dark] .bg-\[\#F2F1EE\],.studio-shell[data-color-mode=dark] .bg-\[\#ECEAE6\]{background-color:#0b1220}.studio-shell[data-color-mode=dark] .bg-white,.studio-shell[data-color-mode=dark] .bg-white\/60,.studio-shell[data-color-mode=dark] .bg-white\/70,.studio-shell[data-color-mode=dark] .bg-white\/80,.studio-shell[data-color-mode=dark] .bg-white\/90,.studio-shell[data-color-mode=dark] .bg-white\/92,.studio-shell[data-color-mode=dark] .bg-white\/95,.studio-shell[data-color-mode=dark] .bg-white\/94,.studio-shell[data-color-mode=dark] .bg-white\/96{background-color:#0f172af0}.studio-shell[data-color-mode=dark] .bg-\[\#FAF8F4\],.studio-shell[data-color-mode=dark] .bg-\[\#F6F2EC\],.studio-shell[data-color-mode=dark] .bg-\[\#F3F0EA\],.studio-shell[data-color-mode=dark] .bg-\[\#ECE8E2\],.studio-shell[data-color-mode=dark] .bg-\[\#F0EDE8\],.studio-shell[data-color-mode=dark] .bg-\[\#F4F0EA\],.studio-shell[data-color-mode=dark] .bg-\[\#FAFAF8\],.studio-shell[data-color-mode=dark] .bg-\[\#FAFAF9\],.studio-shell[data-color-mode=dark] .bg-\[\#FFFCF8\],.studio-shell[data-color-mode=dark] .bg-\[\#FFF9F4\],.studio-shell[data-color-mode=dark] .bg-\[\#F7F5F2\],.studio-shell[data-color-mode=dark] .bg-\[\#F7FAFD\],.studio-shell[data-color-mode=dark] .bg-\[\#F7FAFC\],.studio-shell[data-color-mode=dark] .bg-\[\#FCFBF8\]{background-color:#111b2d}.studio-shell[data-color-mode=dark] .bg-\[\#F6F2FF\]{background-color:#8b5cf61f}.studio-shell[data-color-mode=dark] .bg-\[\#EBF0FF\],.studio-shell[data-color-mode=dark] .bg-\[\#DBEAFE\],.studio-shell[data-color-mode=dark] .bg-\[\#DCE5F0\],.studio-shell[data-color-mode=dark] .bg-\[\#E9EEF5\],.studio-shell[data-color-mode=dark] .bg-\[\#EEF3F8\]{background-color:#3b82f624}.studio-shell[data-color-mode=dark] .bg-\[\#ECE8FF\]{background-color:#8b5cf624}.studio-shell[data-color-mode=dark] .bg-\[\#F3EFE9\]{background-color:#f59e0b24}.studio-shell[data-color-mode=dark] .bg-blue-50{background-color:#3b82f629}.studio-shell[data-color-mode=dark] .bg-green-50,.studio-shell[data-color-mode=dark] .bg-green-100{background-color:#22c55e29}.studio-shell[data-color-mode=dark] .bg-red-50,.studio-shell[data-color-mode=dark] .bg-red-100{background-color:#ef444429}.studio-shell[data-color-mode=dark] .bg-amber-50,.studio-shell[data-color-mode=dark] .bg-amber-100{background-color:#f59e0b2e}.studio-shell[data-color-mode=dark] .bg-violet-50{background-color:#8b5cf629}.studio-shell[data-color-mode=dark] .bg-gray-50,.studio-shell[data-color-mode=dark] .bg-gray-100{background-color:#162236}.studio-shell[data-color-mode=dark] .hover\:bg-gray-50:hover,.studio-shell[data-color-mode=dark] .hover\:bg-red-50:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FAFAF8\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FAFAF9\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#F7F5F2\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FFF9F4\]:hover{background-color:#1a2940}.studio-shell[data-color-mode=dark] .border-gray-200,.studio-shell[data-color-mode=dark] .border-\[\#E6E3DE\],.studio-shell[data-color-mode=dark] .border-\[\#EEEAE4\],.studio-shell[data-color-mode=dark] .border-\[\#E5E1DA\],.studio-shell[data-color-mode=dark] .border-\[\#EAE4DB\],.studio-shell[data-color-mode=dark] .border-\[\#E5DED3\],.studio-shell[data-color-mode=dark] .border-\[\#F0EDE8\],.studio-shell[data-color-mode=dark] .border-\[\#F0ECE5\],.studio-shell[data-color-mode=dark] .border-\[\#F2EEE8\],.studio-shell[data-color-mode=dark] .border-\[\#E7E1D9\],.studio-shell[data-color-mode=dark] .border-\[\#EAE5DE\],.studio-shell[data-color-mode=dark] .border-\[\#F1EAE2\],.studio-shell[data-color-mode=dark] .border-\[\#D8D1C7\],.studio-shell[data-color-mode=dark] .border-\[\#D9E0E7\],.studio-shell[data-color-mode=dark] .border-\[\#DCE5EF\],.studio-shell[data-color-mode=dark] .border-\[\#E1E8F0\],.studio-shell[data-color-mode=dark] .border-\[\#F2F1EE\],.studio-shell[data-color-mode=dark] .border-\[\#F1ECE5\],.studio-shell[data-color-mode=dark] .border-gray-100{border-color:#223047}.studio-shell[data-color-mode=dark] .divide-\[\#EEEAE4\]>:not([hidden])~:not([hidden]){border-color:#223047}.studio-shell[data-color-mode=dark] .border-blue-200,.studio-shell[data-color-mode=dark] .border-blue-300,.studio-shell[data-color-mode=dark] .border-blue-500{border-color:#60a5fa5c}.studio-shell[data-color-mode=dark] .border-green-200{border-color:#4ade8052}.studio-shell[data-color-mode=dark] .border-red-200,.studio-shell[data-color-mode=dark] .border-red-300{border-color:#f8717157}.studio-shell[data-color-mode=dark] .border-amber-200,.studio-shell[data-color-mode=dark] .border-violet-200{border-color:#c4b5fd4d}.studio-shell[data-color-mode=dark] .border-amber-200{border-color:#fbbf244d}.studio-shell[data-color-mode=dark] .text-blue-500,.studio-shell[data-color-mode=dark] .text-blue-600,.studio-shell[data-color-mode=dark] .text-blue-700,.studio-shell[data-color-mode=dark] .text-emerald-500,.studio-shell[data-color-mode=dark] .text-sky-500,.studio-shell[data-color-mode=dark] .text-indigo-500{color:#93c5fd}.studio-shell[data-color-mode=dark] .text-green-500,.studio-shell[data-color-mode=dark] .text-green-600,.studio-shell[data-color-mode=dark] .text-green-700{color:#86efac}.studio-shell[data-color-mode=dark] .text-red-400,.studio-shell[data-color-mode=dark] .text-red-500,.studio-shell[data-color-mode=dark] .text-red-600,.studio-shell[data-color-mode=dark] .text-red-700{color:#fca5a5}.studio-shell[data-color-mode=dark] .text-amber-500,.studio-shell[data-color-mode=dark] .text-amber-600,.studio-shell[data-color-mode=dark] .text-amber-700{color:#fcd34d}.studio-shell[data-color-mode=dark] .text-violet-400,.studio-shell[data-color-mode=dark] .text-violet-500,.studio-shell[data-color-mode=dark] .text-violet-600,.studio-shell[data-color-mode=dark] .text-violet-700{color:#c4b5fd}.studio-shell[data-color-mode=dark] .text-\[\#1D4ED8\],.studio-shell[data-color-mode=dark] .text-\[\#3B5CCC\]{color:#93c5fd}.studio-shell[data-color-mode=dark] .text-\[\#6D28D9\]{color:#c4b5fd}.studio-shell[data-color-mode=dark] .text-\[\#B45309\]{color:#fcd34d}.studio-shell[data-color-mode=dark] .text-\[\#1F2937\]{color:#e2e8f0}.studio-shell[data-color-mode=dark] .text-\[\#475569\],.studio-shell[data-color-mode=dark] .text-\[\#64748B\]{color:#94a3b8}.studio-shell[data-color-mode=dark] .text-\[\#E25B5B\]{color:#fca5a5}.studio-shell[data-color-mode=dark] .text-gray-900,.studio-shell[data-color-mode=dark] .text-gray-800{color:#e5e7eb}.studio-shell[data-color-mode=dark] .text-gray-700,.studio-shell[data-color-mode=dark] .text-gray-600{color:#cbd5e1}.studio-shell[data-color-mode=dark] .text-gray-500,.studio-shell[data-color-mode=dark] .text-gray-400{color:#94a3b8}.studio-shell[data-color-mode=dark] .text-gray-300{color:#64748b}.studio-shell[data-color-mode=dark] .text-pink-600{color:#f472b6}.studio-shell[data-color-mode=dark] .shadow-indigo-200{--tw-shadow-color: rgba(99, 102, 241, .15)}.studio-shell[data-color-mode=dark] .bg-\[\#18181B\]{background-color:#334155}.studio-shell[data-color-mode=dark] .hover\:bg-\[\#333\]:hover{background-color:#475569}.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FAF8F4\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#F6F2EC\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-white:hover{background-color:#162236}.studio-brand-mark{background:var(--accent);box-shadow:none}.rail-button,.drawer-icon-button,.panel-icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e7e3dc;background:#fffffff5;color:#5b6470;transition:border-color .18s ease,background .18s ease,color .18s ease}.studio-shell[data-color-mode=dark] .rail-button,.studio-shell[data-color-mode=dark] .drawer-icon-button,.studio-shell[data-color-mode=dark] .panel-icon-button{border-color:#2a3a52;background:#0f172af0;color:#cbd5e1}.rail-button{width:40px;height:40px;border-radius:14px;box-shadow:none}.rail-button:hover,.drawer-icon-button:hover,.panel-icon-button:hover{border-color:#d9d4cc;background:#f7f6f3;color:#1f2328}.studio-shell[data-color-mode=dark] .rail-button:hover,.studio-shell[data-color-mode=dark] .drawer-icon-button:hover,.studio-shell[data-color-mode=dark] .panel-icon-button:hover{border-color:#3a4c68;background:#162236;color:#f8fafc}.rail-button.active,.drawer-icon-button.active{border-color:var(--accent-border);background:linear-gradient(180deg,var(--accent-soft-start) 0%,var(--accent-soft-end) 100%);color:var(--accent);box-shadow:none}.drawer-icon-button{width:38px;height:38px;border-radius:12px;box-shadow:none}.panel-icon-button{width:30px;height:30px;border-radius:10px}.ask-ai-surface{background:#fff;border-color:#e8e4dd;border-radius:20px;box-shadow:0 18px 40px #11182714}.ask-ai-trigger{background:#fff;border-radius:16px;box-shadow:0 12px 28px #11182714!important}.studio-shell[data-color-mode=dark] .ask-ai-surface,.studio-shell[data-color-mode=dark] .ask-ai-trigger{background:#0f172a}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 16px}.panel-eyebrow{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.16em;color:#a39a8f}.studio-shell[data-color-mode=dark] .panel-eyebrow,.studio-shell[data-color-mode=dark] .section-heading,.studio-shell[data-color-mode=dark] .field-label,.studio-shell[data-color-mode=dark] .toolbar-input-label{color:#7f90a8}.panel-title{margin-top:6px;font-size:20px;line-height:1.1;font-weight:700;color:#201f1d}.studio-shell[data-color-mode=dark] .panel-title{color:#f8fafc}.panel-block{padding:16px 18px}.section-heading,.field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#a39a8f}.workspace-card{border:1px solid #e7e3dc;border-radius:20px;background:#fffffff5;box-shadow:0 10px 24px #1f1c180a}.studio-shell[data-color-mode=dark] .workspace-card{border-color:#223047;background:#0f172af0;box-shadow:0 16px 34px #02061738}.workspace-editor-frame{border:1px solid #e7e3dc;border-radius:20px;background:#fffffffa;padding:4px}.studio-shell[data-color-mode=dark] .workspace-editor-frame{border-color:#223047;background:#0f172af0}.workspace-segmented-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #e7e3dc;border-radius:14px;background:#f2f1ee}.studio-shell[data-color-mode=dark] .workspace-segmented-control{border-color:#223047;background:#111b2d}.workspace-segmented-button{min-height:30px;padding:0 12px;border-radius:10px;border:0;background:transparent;color:#6b7280;font-size:12px;font-weight:700;transition:background .18s ease,color .18s ease}.workspace-segmented-button:hover{color:#374151}.workspace-segmented-button.active{background:#fff;color:#111827;box-shadow:0 1px 2px #0f172a0d}.studio-shell[data-color-mode=dark] .workspace-segmented-button{color:#94a3b8}.studio-shell[data-color-mode=dark] .workspace-segmented-button:hover{color:#e2e8f0}.studio-shell[data-color-mode=dark] .workspace-segmented-button.active{background:#162236;color:#f8fafc;box-shadow:none}.search-field{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid #e7e3dc;border-radius:12px;background:#fff}.studio-shell[data-color-mode=dark] .search-field{border-color:#2a3a52;background:#111b2d}.search-input{width:100%;background:transparent;border:0;outline:none;font-size:13px;color:#3c3834}.search-input::-moz-placeholder{color:#aea59a}.search-input::placeholder{color:#aea59a}.studio-shell[data-color-mode=dark] .search-input,.studio-shell[data-color-mode=dark] .studio-title-input{color:#e5e7eb}.studio-shell[data-color-mode=dark] .search-input::-moz-placeholder,.studio-shell[data-color-mode=dark] .studio-title-input::-moz-placeholder{color:#64748b}.studio-shell[data-color-mode=dark] .search-input::placeholder,.studio-shell[data-color-mode=dark] .studio-title-input::placeholder{color:#64748b}.panel-input,.panel-textarea{width:100%;border:1px solid #e7e3dc;border-radius:12px;background:#fff;color:#24211f;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.studio-shell[data-color-mode=dark] .panel-input,.studio-shell[data-color-mode=dark] .panel-textarea{border-color:#2a3a52;background:#0f172a;color:#e5e7eb}.panel-input{min-height:40px;padding:0 12px;font-size:13px}.panel-textarea{min-height:120px;padding:12px;font-size:12px;line-height:1.55;resize:vertical;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.panel-input:focus,.panel-textarea:focus{border-color:rgba(var(--accent-rgb),.32);box-shadow:0 0 0 3px var(--accent-focus);background:#fffdfc}.studio-shell[data-color-mode=dark] .panel-input:focus,.studio-shell[data-color-mode=dark] .panel-textarea:focus{background:#111b2d}.solid-action,.ghost-action{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:12px;font-size:12px;font-weight:700;transition:border-color .18s ease,background .18s ease,color .18s ease}.solid-action{border:1px solid rgba(var(--accent-rgb),.16);background:var(--accent);color:#fff;box-shadow:none}.solid-action:hover{background:var(--accent-strong)}.ghost-action{border:1px solid #e7e3dc;background:#fff;color:#4f5562}.studio-shell[data-color-mode=dark] .ghost-action{border-color:#2a3a52;background:#0f172a;color:#dbe4f0}.ghost-action:hover{background:#f7f6f3;border-color:#d9d4cc}.studio-shell[data-color-mode=dark] .ghost-action:hover{background:#162236;border-color:#3a4c68}.studio-editor-header{position:relative;z-index:120;overflow:visible;min-height:0;flex-shrink:0;display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;padding:16px 20px 14px;border-bottom:1px solid #e8e4dd;background:#fbfaf8f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.studio-shell[data-color-mode=dark] .studio-editor-header{border-bottom-color:#223047;background:#0d1422f5}.app-auth-anchor{position:fixed;top:12px;right:16px;z-index:320;display:flex;justify-content:flex-end;max-width:min(320px,calc(100vw - 20px));pointer-events:none}.app-auth-anchor>*{pointer-events:auto}.workspace-page-header,.studio-editor-header{padding-right:calc(24px + min(320px,100vw - 20px))}.workspace-page-header{background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.studio-shell[data-color-mode=dark] .workspace-page-header{border-bottom-color:#223047;background:#0d1422f5}.studio-editor-toolbar{width:100%;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width: 1180px){.workspace-page-header,.studio-editor-header{padding-right:calc(24px + min(320px,100vw - 20px))}.studio-title-bar{order:3;flex-basis:100%}}.studio-title-bar{min-width:0;flex:1 1 420px;max-width:100%;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 6px 0 12px;border:1px solid #e8e4dd;border-radius:12px;background:#fff;box-shadow:none}.studio-shell[data-color-mode=dark] .studio-title-bar{border-color:#2a3a52;background:#0f172a;box-shadow:none}.studio-title-group{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:10px}.studio-title-input{min-width:0;width:100%;background:transparent;border:0;outline:none;font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#1f2937}.studio-title-input::-moz-placeholder{color:#9e958a}.studio-title-input::placeholder{color:#9e958a}.studio-header-actions{display:flex;align-items:center;gap:6px;padding-left:10px;margin-left:6px;border-left:1px solid #ece8e2}.studio-shell[data-color-mode=dark] .studio-header-actions{border-left-color:#223047}.header-toolbar-action{width:30px;height:30px;border-radius:10px;padding:0;flex-shrink:0}.header-save-action,.header-export-action{border-color:transparent;background:transparent;color:#6b7280}.header-save-action{border-color:var(--accent-border);background:rgba(var(--accent-rgb),.06);color:var(--accent-text)}.header-save-action:hover,.header-export-action:hover{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.28)}.header-run-action{border-color:transparent;background:var(--accent);color:#fff}.header-run-action:hover{filter:brightness(.98)}.studio-view-switch{display:inline-flex;align-items:center;padding:4px;border:1px solid #e8e4dd;border-radius:12px;background:#fff}.studio-shell[data-color-mode=dark] .studio-view-switch{border-color:#2a3a52;background:#0f172a}.studio-view-switch-button{min-height:30px;padding:0 12px;border-radius:10px;border:0;background:transparent;font-size:12px;font-weight:700;color:#6b7280;transition:background .18s ease,color .18s ease}.studio-view-switch-button.active{background:#f3f4f6;color:#111827}.studio-shell[data-color-mode=dark] .studio-view-switch-button{color:#94a3b8}.studio-shell[data-color-mode=dark] .studio-view-switch-button.active{background:#162236;color:#f8fafc}.workflow-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.catalog-sidebar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.catalog-save-action{flex-shrink:0;min-width:88px;justify-content:center}.header-help-button{width:20px;height:20px;border-radius:999px;border:0;background:transparent;color:#9ca3af}.header-help-button:hover{background:#94a3b81a;color:#6b7280}.studio-shell[data-color-mode=dark] .header-help-button,.studio-shell[data-color-mode=dark] .info-popover-button{border-color:transparent;background:transparent;color:#cbd5e1}.header-help-card{width:300px}.run-prompt-textarea{min-height:168px;background:#fbfaf8}.studio-shell[data-color-mode=dark] .run-prompt-textarea{background:#111b2d}.header-auth-chip,.header-auth-guest{display:inline-flex;align-items:center;gap:10px;min-height:48px;max-width:320px;padding:6px 8px 6px 10px;border:1px solid #e8e4dd;border-radius:16px;background:#fffffff5;box-shadow:none}.studio-shell[data-color-mode=dark] .header-auth-chip,.studio-shell[data-color-mode=dark] .header-auth-guest{border-color:#2a3a52;background:#0f172af5;box-shadow:none}.header-auth-avatar,.header-auth-avatar-image{width:32px;height:32px;flex-shrink:0;border-radius:999px}.header-auth-avatar{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#334155);color:#f8fafc;font-size:12px;font-weight:700;letter-spacing:.08em}.header-auth-avatar-image{-o-object-fit:cover;object-fit:cover;border:1px solid rgba(148,163,184,.35)}.header-auth-copy,.header-auth-guest-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.header-auth-label{font-size:13px;font-weight:700;color:#1f2937;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-auth-meta{font-size:11px;line-height:1.3;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-shell[data-color-mode=dark] .header-auth-label{color:#e2e8f0}.studio-shell[data-color-mode=dark] .header-auth-meta{color:#94a3b8}.header-auth-link,.header-auth-logout{flex-shrink:0}.chip-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid #e3dfd8;background:#fff;color:#6d655d;font-size:11px;font-weight:700;transition:all .16s ease}.studio-shell[data-color-mode=dark] .chip-button{border-color:#2a3a52;background:#0f172a;color:#cbd5e1}.chip-button:hover{background:#fff8f2;color:#3e3a35}.studio-shell[data-color-mode=dark] .chip-button:hover{background:#162236;color:#f8fafc}.chip-button-active{border-color:var(--accent-border);background:var(--accent-soft-end);color:var(--accent-text)}.accent-inline-link{color:var(--accent-text)}.accent-inline-link:hover{color:var(--accent-strong)}.toolbar-input{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.toolbar-input:focus{border-color:rgba(var(--accent-rgb),.35);box-shadow:0 0 0 4px var(--accent-focus);background:#fffdfc}.toolbar-input-group{display:flex;flex-direction:column;gap:6px}.toolbar-input-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a39a8f}.info-popover{position:relative;display:inline-flex;z-index:140}.info-popover-button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #e7e3dc;background:#fffffff5;color:#8f98a4;transition:all .18s ease}.info-popover-button:hover,.info-popover-button.active{border-color:var(--accent-border);background:var(--accent-soft-end);color:var(--accent-text)}.info-popover-button.header-help-button{width:20px;height:20px;border:0;background:transparent;color:#9ca3af}.info-popover-button.header-help-button:hover,.info-popover-button.header-help-button.active{background:#94a3b81a;color:#6b7280}.info-popover-card{position:absolute;top:calc(100% + 10px);z-index:160;width:320px;border:1px solid #e8e4dd;border-radius:16px;background:#fffffffa;box-shadow:0 18px 40px #11182714;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:14px;font-size:13px;line-height:1.55;letter-spacing:normal;text-transform:none;color:#3c3834}.studio-shell[data-color-mode=dark] .info-popover-card,.studio-shell[data-color-mode=dark] .modal-shell,.studio-shell[data-color-mode=dark] .right-drawer,.studio-shell[data-color-mode=dark] .palette-drawer{border-color:#2a3a52;background:#0a111ef5;box-shadow:0 18px 40px #0206173d;color:#dbe4f0}.studio-shell[data-color-mode=dark] .info-popover-button.header-help-button{color:#94a3b8}.studio-shell[data-color-mode=dark] .info-popover-button.header-help-button:hover,.studio-shell[data-color-mode=dark] .info-popover-button.header-help-button.active{background:#94a3b81f;color:#e5e7eb}.info-popover-title{font-size:13px;font-weight:700;color:#1f2937}.studio-shell[data-color-mode=dark] .info-popover-title{color:#f8fafc}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:#18161352;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-shell{width:min(680px,100%);max-height:min(86vh,880px);display:flex;flex-direction:column;border:1px solid #e6e1d9;border-radius:28px;background:#fffffffa;box-shadow:0 32px 80px #1118272e}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #f1ece5}.studio-shell[data-color-mode=dark] .modal-header,.studio-shell[data-color-mode=dark] .modal-footer,.studio-shell[data-color-mode=dark] .palette-drawer-header,.studio-shell[data-color-mode=dark] .palette-drawer-search,.studio-shell[data-color-mode=dark] .panel-header{border-color:#223047}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:20px 22px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px 20px;border-top:1px solid #f1ece5}.settings-sidebar{display:flex;flex-direction:column;min-height:0;padding:28px 20px;border-right:1px solid #ece8e2;background:linear-gradient(180deg,#faf8f4f0,#f5f2edf0)}.studio-shell[data-color-mode=dark] .settings-sidebar{border-right-color:#223047;background:linear-gradient(180deg,#0a111efa,#0c1424fa)}.settings-nav-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;border:1px solid transparent;transition:all .18s ease;text-align:left}.settings-nav-button:hover{background:#ffffffb8;border-color:#e6e0d7}.studio-shell[data-color-mode=dark] .settings-nav-button:hover{background:#162236e6;border-color:#2a3a52}.settings-nav-button.active{border-color:var(--accent-border);background:linear-gradient(180deg,var(--accent-soft-start) 0%,var(--accent-soft-end) 100%);box-shadow:0 16px 34px var(--accent-shadow)}.settings-nav-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#fff;color:var(--accent-text);box-shadow:0 10px 24px #1118270f;flex-shrink:0}.settings-mode-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid #e5e1da;background:#fff;color:var(--accent-text)}.studio-shell[data-color-mode=dark] .settings-nav-icon,.studio-shell[data-color-mode=dark] .settings-mode-icon{border-color:#33465f;background:#111b2d;color:#dbeafe}.description-editor{min-height:168px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.65}.settings-section-card{border:1px solid #ede8df;border-radius:28px;background:linear-gradient(180deg,#fffffff5,#faf8f4eb);box-shadow:0 20px 44px #1118270f;padding:24px}.studio-shell[data-color-mode=dark] .settings-section-card,.studio-shell[data-color-mode=dark] .appearance-card,.studio-shell[data-color-mode=dark] .empty-card{border-color:#2a3a52;background:linear-gradient(180deg,#0f172af5,#111b2df5);box-shadow:0 18px 38px #0206173d}.settings-status-card{border:1px solid #e6e1d8;border-radius:22px;background:#fff;padding:16px 18px}.studio-shell[data-color-mode=dark] .settings-status-card{border-color:#2a3a52;background:#0f172aeb}.settings-status-card.success{border-color:#22c55e2e;background:#f0fdf4eb}.settings-status-card.error{border-color:#ef44442e;background:#fef2f2eb}.settings-status-card.testing{border-color:rgba(var(--accent-rgb),.18);background:#eff6ffeb}.settings-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.settings-status-pill.success{background:#22c55e1f;color:#15803d}.settings-status-pill.error{background:#ef44441f;color:#dc2626}.settings-status-pill.testing{background:rgba(var(--accent-rgb),.12);color:var(--accent-text)}.appearance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.appearance-card{text-align:left;border:1px solid #e5e1da;border-radius:18px;background:#fff;padding:12px;transition:all .18s ease}.appearance-card:hover{background:#fffaf6}.studio-shell[data-color-mode=dark] .appearance-card:hover{background:#162236}.appearance-card.active{border-color:var(--accent-border);background:var(--accent-soft-end);box-shadow:0 12px 24px var(--accent-focus)}.appearance-swatches{display:flex;align-items:center;gap:6px;margin-bottom:10px}.appearance-swatch{width:18px;height:18px;border-radius:999px;border:1px solid rgba(17,24,39,.06);box-shadow:inset 0 1px #ffffffb3}.empty-card{border-radius:18px;border:1px dashed #e0dbd2;background:#faf8f4;padding:14px 16px;text-align:center;font-size:12px;color:#aaa196}.studio-shell[data-color-mode=dark] .empty-card{color:#7f90a8}.studio-canvas{background:#f7f6f3}.studio-shell[data-color-mode=dark] .studio-canvas{background:#0b1220}.canvas-overlay-stack{position:absolute;top:16px;left:16px;z-index:20;display:flex;flex-direction:column;gap:8px}.canvas-meta-card{min-width:180px;padding:10px 12px;border:1px solid #e8e4dd;border-radius:14px;background:#ffffffeb;box-shadow:0 10px 26px #1118270a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-meta-card-wide{min-width:240px}.canvas-meta-label{font-size:11px;color:#8a8479}.canvas-meta-value{margin-top:2px;font-size:12px;font-weight:700;color:#1f2937}.canvas-meta-select{width:100%;margin-top:4px;border:0;background:transparent;outline:none;font-size:12px;font-weight:700;color:#1f2937}.canvas-overlay-tools{position:absolute;top:16px;right:16px;z-index:20;display:flex;align-items:center;gap:8px}.studio-shell[data-color-mode=dark] .canvas-meta-card{border-color:#2a3a52;background:#0f172ae6;box-shadow:none}.studio-shell[data-color-mode=dark] .canvas-meta-label{color:#94a3b8}.studio-shell[data-color-mode=dark] .canvas-meta-value,.studio-shell[data-color-mode=dark] .canvas-meta-select{color:#e5e7eb}.right-drawer{position:absolute;top:16px;right:16px;bottom:16px;width:380px;display:flex;flex-direction:column;border:1px solid #e8e4dd;border-radius:20px;background:#fffffffa;box-shadow:0 18px 40px #11182714;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(calc(100% + 16px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease;z-index:28}.right-drawer.open{transform:translate(0);opacity:1;pointer-events:auto}.palette-drawer{background:#fff;border-color:#e8e4dd;border-radius:20px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 18px 40px #11182714}.studio-shell[data-color-mode=dark] .palette-drawer-header,.studio-shell[data-color-mode=dark] .palette-drawer-search,.studio-shell[data-color-mode=dark] .palette-drawer-body{background:#0f172a}.palette-drawer-header{background:#fff}.palette-drawer-search{background:#fbfaf8}.palette-drawer-body{background:#fff}.execution-logs{height:264px;flex-shrink:0;border-top:1px solid #e8e4dd;background:#fffffffa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:height .2s ease}.studio-shell[data-color-mode=dark] .execution-logs{border-top-color:#223047;background:#0a111ef5}.execution-logs-popout-shell{background:#f2f1ee;width:100vw;min-width:100vw;max-width:100vw;height:100vh;min-height:100vh}.execution-logs.execution-logs-fullscreen{width:100%;min-width:0;max-width:100%;flex:1 1 auto;height:100vh;min-height:100vh;border-top:0;overflow:hidden}.execution-logs.execution-logs-fullscreen .execution-logs-header{height:64px;padding:0 20px}.execution-logs.execution-logs-fullscreen .execution-logs-header:before{display:none}.execution-logs.execution-logs-fullscreen .execution-logs-body{width:100%;min-width:0;max-width:100%;height:calc(100vh - 64px)}.execution-logs.collapsed{height:56px}.execution-logs-header{position:relative;height:56px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-bottom:1px solid #efe9e1;background:transparent}.execution-logs-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:64px;height:5px;border-radius:999px;background:#94a3b859}.execution-logs-header-actions{display:flex;align-items:center;gap:10px}.execution-logs-collapse-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e8e4dd;border-radius:999px;background:#fff;color:#4b5563;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;transition:border-color .16s ease,background .16s ease,color .16s ease}.execution-logs-collapse-action:hover,.execution-logs-copy-action:hover{border-color:rgba(var(--accent-rgb),.28);background:#fff7f3;color:#1f2937}.studio-shell[data-color-mode=dark] .execution-logs-collapse-action{border-color:#2a3a52;background:#0f172a;color:#cbd5e1}.studio-shell[data-color-mode=dark] .execution-logs-collapse-action:hover,.studio-shell[data-color-mode=dark] .execution-logs-copy-action:hover{border-color:rgba(var(--accent-rgb),.4);background:#162236;color:#f8fafc}.execution-logs-collapse-action:focus-visible,.execution-logs-copy-action:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(var(--accent-rgb),.14)}.execution-logs-collapse-icon{transition:transform .16s ease}.execution-logs-collapse-icon.collapsed{transform:rotate(180deg)}.execution-logs-copy-action.active,.execution-logs-window-action.active{border-color:rgba(var(--accent-rgb),.28);background:#fff4f1;color:var(--accent-text)}.studio-shell[data-color-mode=dark] .execution-logs-copy-action.active,.studio-shell[data-color-mode=dark] .execution-logs-window-action.active{border-color:rgba(var(--accent-rgb),.4);background:#172235}.execution-logs-body{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;width:100%;min-width:0;height:calc(100% - 56px);min-height:0}.execution-runs-list{min-width:0;min-height:0;overflow-y:auto;border-right:1px solid #f1ece5;background:#fbfaf8;padding:14px;display:flex;flex-direction:column;gap:10px}.studio-shell[data-color-mode=dark] .execution-runs-list{border-right-color:#223047;background:#0f172a}.execution-log-stream{width:100%;min-width:0;max-width:100%;min-height:0;padding:14px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;background:#fff;overflow:hidden}.studio-shell[data-color-mode=dark] .execution-log-stream{background:#111b2d}.execution-log-list{width:100%;min-width:0;min-height:0;overflow-y:auto;overflow-x:auto;display:flex;flex-direction:column;gap:10px}.execution-run-card,.execution-log-card{width:100%;max-width:100%;text-align:left;border:1px solid #e8e4dd;border-radius:14px;background:#fff;padding:12px 14px;transition:all .16s ease}.execution-log-card{cursor:copy}.studio-shell[data-color-mode=dark] .execution-run-card,.studio-shell[data-color-mode=dark] .execution-log-card,.studio-shell[data-color-mode=dark] .workflow-node{border-color:#2a3a52;background:#0f172a;box-shadow:none}.execution-run-card:hover,.execution-log-card:hover{background:#fffaf6}.execution-run-card.active,.execution-log-card.active{border-color:#f0483e3d;background:#fff4f1}.execution-log-card.tone-pending{border-color:#2f6fec38;background:linear-gradient(180deg,#f4f8fff5,#eaf2ffeb)}.studio-shell[data-color-mode=dark] .execution-log-card.tone-pending{border-color:rgba(var(--accent-rgb),.3);background:linear-gradient(180deg,#121f36fa,#101c31fa)}.execution-log-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.execution-log-card-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.execution-log-card-copied{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 8px;border-radius:999px;background:rgba(var(--accent-rgb),.12);color:var(--accent-text);font-size:10px;font-weight:700;letter-spacing:.02em}.execution-log-card-preview{margin-top:8px;color:#4b5563;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.studio-shell[data-color-mode=dark] .execution-log-card-preview{color:#cbd5e1}.execution-action-panel{border:1px solid #e8e4dd;border-radius:16px;background:#fff;box-shadow:none;padding:16px;display:flex;flex-direction:column;gap:14px}.studio-shell[data-color-mode=dark] .execution-action-panel{border-color:#2a3a52;background:#0f172a;box-shadow:none}.execution-action-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.18);background:var(--accent-soft-start);color:var(--accent-text);font-size:11px;font-weight:700}.execution-action-intro{display:flex;flex-direction:column;gap:12px}.execution-action-subtitle{margin-top:6px;color:#6b7280;font-size:12px;line-height:1.5}.studio-shell[data-color-mode=dark] .execution-action-subtitle{color:#94a3b8}.execution-action-meta{display:flex;flex-wrap:wrap;gap:8px}.execution-action-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid #ece5db;background:#faf7f2;color:#5f5750;font-size:11px;font-weight:600}.studio-shell[data-color-mode=dark] .execution-action-chip{border-color:#2a3a52;background:#111b2d;color:#dbe4f0}.execution-action-block{display:flex;flex-direction:column;gap:8px}.execution-action-block-label{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.execution-action-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.execution-action-requirement{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.execution-action-requirement.required{background:#f0483e1a;color:#b42318}.execution-action-requirement.optional{background:#3b82f61a;color:#1d4ed8}.studio-shell[data-color-mode=dark] .execution-action-requirement.required{background:#f871712e;color:#fecaca}.studio-shell[data-color-mode=dark] .execution-action-requirement.optional{background:#60a5fa2e;color:#bfdbfe}.execution-action-helper{color:#6b7280;font-size:12px;line-height:1.5}.studio-shell[data-color-mode=dark] .execution-action-helper{color:#94a3b8}.execution-action-prompt{border:1px solid #ece5db;border-radius:18px;background:#ffffffc7;color:#4b5563;font-size:13px;line-height:1.6;padding:12px 14px;white-space:pre-wrap}.studio-shell[data-color-mode=dark] .execution-action-prompt{border-color:#2a3a52;background:#0f172ac2;color:#cbd5e1}.execution-action-textarea{min-height:110px}.execution-action-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.execution-danger-action{color:#b42318;border-color:#b4231824;background:#fff7f6}.execution-danger-action:hover{background:#ffefed;border-color:#b423183d}.studio-shell[data-color-mode=dark] .execution-danger-action{color:#fca5a5;border-color:#f871712e;background:#450a0a3d}.studio-shell[data-color-mode=dark] .execution-danger-action:hover{background:#450a0a5c;border-color:#f8717147}.react-flow__node{border-radius:10px!important}.react-flow__handle{width:10px;height:10px;border:2px solid #fff;border-radius:999px}.react-flow__handle-left{left:-5px}.react-flow__handle-right{right:-5px}.react-flow__edge-path{stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.react-flow__edge{z-index:4!important}.react-flow__attribution{display:none}.react-flow__controls{background:transparent!important;border:0!important;box-shadow:none!important;display:flex!important;flex-direction:row!important;gap:8px!important;margin:16px!important}.react-flow__controls-button{width:40px!important;height:40px!important;border:1px solid #e7e3dc!important;border-radius:12px!important;background:#fffffff5!important;color:#5b6470!important;fill:currentColor!important;box-shadow:none!important;border-bottom:1px solid #e7e3dc!important}.studio-shell[data-color-mode=dark] .react-flow__controls-button{border-color:#2a3a52!important;border-bottom-color:#2a3a52!important;background:#0f172af5!important;color:#dbe4f0!important;box-shadow:none!important}.react-flow__controls-button:hover{background:#f7f6f3!important;color:#1f2328!important}.studio-shell[data-color-mode=dark] .react-flow__controls-button:hover{background:#162236!important;color:#f8fafc!important}.react-flow__minimap{border:1px solid #e7e3dc!important;border-radius:16px!important;overflow:hidden!important;box-shadow:none!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.react-flow__minimap svg{background:transparent!important}.react-flow__minimap-mask{fill:#ffffffb3!important}.studio-shell[data-color-mode=dark] .react-flow__minimap{border-color:#2a3a52!important;box-shadow:none!important}.studio-shell[data-color-mode=dark] .react-flow__minimap-mask{fill:#0b1220b8!important}.workflow-node{background:#fff;border:1px solid #e3dfd8;border-radius:14px;box-shadow:0 8px 22px #1118270a;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;overflow:hidden;min-width:200px}.studio-shell[data-color-mode=dark] .workflow-node{background:#0f172a}.workflow-node-icon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.workflow-node-title{min-width:0;font-size:13px;font-weight:700;line-height:1.2;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-shell[data-color-mode=dark] .workflow-node-title{color:#e5e7eb}.workflow-node-subtitle{min-width:0;margin-top:2px;font-size:11px;line-height:1.3;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-node-status-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;background:#94a3b8;box-shadow:0 0 0 2px #94a3b81f}.workflow-node-status-dot.active{background:#2563eb;box-shadow:0 0 0 2px #3b82f624}.workflow-node-status-dot.waiting{background:#d97706;box-shadow:0 0 0 2px #f59e0b29}.workflow-node-status-dot.completed{background:#16a34a;box-shadow:0 0 0 2px #22c55e24}.workflow-node-status-dot.failed{background:#dc2626;box-shadow:0 0 0 2px #ef444424}.workflow-node.compact{border-radius:14px;box-shadow:0 6px 16px #1118270a}.workflow-node.compact:hover{transform:none;box-shadow:0 8px 18px #1118270f}.workflow-node-compact,.workflow-node-micro{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 12px}.workflow-node-compact-meta,.workflow-node-micro-meta{min-width:0;flex:1}.workflow-node.micro{border-radius:14px;box-shadow:0 4px 12px #1118270a}.workflow-node.micro:hover{transform:none;box-shadow:0 6px 14px #1118270d}.workflow-node-micro{min-height:42px;padding:8px 10px;gap:8px}.workflow-node-icon-micro{width:24px;height:24px;border-radius:8px}.workflow-node.micro .workflow-node-title{font-size:11px}.workflow-node.micro .react-flow__handle{width:8px;height:8px}.workflow-node.compact .react-flow__handle{width:9px;height:9px}.workflow-node:hover{border-color:#d2cdc4;box-shadow:0 10px 24px #1118270f;transform:none}.workflow-node.selected{border-color:rgba(var(--accent-rgb),.3);box-shadow:0 0 0 3px var(--accent-focus),0 10px 24px #1118270f}.workflow-node.execution-focus{border-color:#4f6ef75c;box-shadow:0 0 0 3px #4f6ef714,0 10px 24px #4f6ef714}.workflow-node.node-status-active{border-color:#3b82f657}.workflow-node.node-status-waiting{border-color:#f59e0b57}.workflow-node.node-status-completed{border-color:#22c55e57}.workflow-node.node-status-failed{border-color:#ef444457}.node-run-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.node-run-pill.active{background:#3b82f61a;color:#2563eb}.node-run-pill.waiting{background:#f59e0b1f;color:#b45309}.node-run-pill.completed{background:#22c55e1f;color:#15803d}.node-run-pill.failed{background:#ef44441f;color:#dc2626}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in-right{animation:slide-in-right .2s ease-out}.scope-chat-link{color:var(--accent-text);text-decoration:underline;text-decoration-color:rgba(var(--accent-rgb),.36);text-underline-offset:2px;word-break:break-all}.scope-chat-link:hover{color:var(--accent-strong);text-decoration-color:rgba(var(--accent-rgb),.62)}.scope-chat-link-user{color:#fff;text-decoration:underline;text-decoration-color:#fff9;text-underline-offset:2px;word-break:break-all}.scope-chat-link-user:hover{text-decoration-color:#ffffffe6}.scope-chat-thinking-toggle{color:#64748b}.scope-chat-thinking-toggle:hover{color:var(--accent-text)}.scope-chat-thinking-body{border-left:2px solid rgba(var(--accent-rgb),.22);color:#4b5563}.scope-chat-llm-bar{align-items:center;display:inline-flex;gap:10px;min-width:0;position:relative}.scope-chat-llm-trigger{align-items:center;border:1px solid rgba(var(--accent-rgb),.12);border-radius:14px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.12));box-shadow:0 6px 14px #0f172a08,0 1px #ffffffb3 inset;color:#475569;display:inline-flex;font-size:14px;font-weight:600;gap:10px;height:38px;max-width:240px;min-width:0;padding:0 14px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.scope-chat-llm-trigger:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.2);box-shadow:0 8px 18px #0f172a0d,0 1px #ffffffb3 inset}.scope-chat-llm-trigger:disabled{cursor:not-allowed;opacity:.65}.scope-chat-llm-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-chat-llm-chevron{color:#94a3b8}.scope-chat-llm-inline-route{color:#94a3b8;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-chat-llm-panel{border:1px solid rgba(var(--accent-rgb),.12);border-radius:18px;background:#fff;box-shadow:0 18px 42px #0f172a1a,0 1px #ffffffd1 inset;display:flex;flex-direction:column;opacity:1}.scope-chat-llm-reset{border:1px solid rgba(var(--accent-rgb),.12);border-radius:999px;background:rgba(var(--accent-rgb),.06);color:var(--accent-text);font-size:11px;font-weight:600;height:28px;padding:0 10px;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.scope-chat-llm-reset:hover:not(:disabled){background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.2)}.scope-chat-llm-reset:disabled{color:#94a3b8;cursor:not-allowed;opacity:.65}.scope-chat-llm-panel-header{align-items:center;display:flex;justify-content:space-between;padding:12px 14px 8px}.scope-chat-llm-panel-title{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.scope-chat-llm-search{align-items:center;border-top:1px solid rgba(var(--accent-rgb),.08);border-bottom:1px solid rgba(var(--accent-rgb),.08);display:flex;gap:10px;padding:12px 14px}.scope-chat-llm-search-icon{color:#94a3b8;flex-shrink:0}.scope-chat-llm-search-input{background:transparent;border:none;color:#1f2937;font-size:14px;font-weight:500;outline:none;padding:0;width:100%}.scope-chat-llm-search-input::-moz-placeholder{color:#94a3b8}.scope-chat-llm-search-input::placeholder{color:#94a3b8}.scope-chat-llm-route-row{align-items:center;display:flex;gap:12px;padding:12px 14px 10px}.scope-chat-llm-route-label{color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scope-chat-llm-route-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(var(--accent-rgb),.12);border-radius:12px;background:rgba(var(--accent-rgb),.05);color:#334155;flex:1 1 auto;font-size:13px;font-weight:600;height:36px;min-width:0;outline:none;padding:0 36px 0 12px}.scope-chat-llm-options{flex:1 1 auto;min-height:0;overflow:auto;padding:0 8px 8px}.scope-chat-llm-group{padding:6px 0 2px}.scope-chat-llm-group-label{color:#64748b;font-size:12px;font-weight:700;padding:0 10px 8px}.scope-chat-llm-option{align-items:center;border:1px solid transparent;border-radius:12px;color:#1f2937;display:flex;justify-content:space-between;min-height:44px;padding:0 12px;text-align:left;transition:background-color .2s ease,border-color .2s ease,color .2s ease;width:100%}.scope-chat-llm-option:hover{background:rgba(var(--accent-rgb),.08)}.scope-chat-llm-option.is-active{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.14)}.scope-chat-llm-option--manual{margin-bottom:6px}.scope-chat-llm-option-badge{border-radius:999px;background:rgba(var(--accent-rgb),.08);color:var(--accent-text);font-size:11px;font-weight:700;margin-left:12px;padding:4px 8px}.scope-chat-llm-option-main{align-items:center;display:inline-flex;gap:10px;min-width:0}.scope-chat-llm-option-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-chat-llm-empty{color:#94a3b8;font-size:13px;padding:12px 10px 14px}.scope-chat-user-bubble{border:1px solid rgba(var(--accent-rgb),.18);background:linear-gradient(180deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);box-shadow:0 14px 28px var(--accent-shadow-strong)}.scope-chat-action-button{color:#64748b;flex-shrink:0}.scope-chat-action-button:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-text)}.scope-chat-action-button--active{background:rgba(var(--accent-rgb),.12);color:var(--accent-strong)}.scope-chat-action-button--emphasis{background:linear-gradient(180deg,var(--accent-soft-start) 0%,var(--accent-soft-end) 100%);color:var(--accent-text);box-shadow:0 6px 16px var(--accent-shadow)}.scope-chat-menu{border:1px solid var(--accent-border);background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,var(--accent-soft-end) 100%);box-shadow:0 18px 40px #94a3b82e,0 10px 24px var(--accent-shadow)}.scope-chat-menu-divider{border-top:1px solid rgba(var(--accent-rgb),.16)}.scope-chat-menu-item{color:#1f2937;font-size:14px}.scope-chat-menu-item:hover{background:rgba(var(--accent-rgb),.08)}.scope-chat-menu-item--danger{color:#e25b5b}.scope-chat-menu-item--danger:hover{background:#e25b5b14}.scope-chat-menu-item-icon{color:var(--accent-text)}.scope-chat-menu-item-icon-danger{color:#e25b5b}.studio-shell[data-color-mode=dark] .scope-chat-llm-bar{position:relative}.studio-shell[data-color-mode=dark] .scope-chat-llm-trigger{border-color:rgba(var(--accent-rgb),.24);background:linear-gradient(180deg,#0f172aeb,rgba(var(--accent-rgb),.12));box-shadow:0 12px 26px #02061733,0 1px #ffffff08 inset;color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-llm-trigger:hover{border-color:rgba(var(--accent-rgb),.32)}.studio-shell[data-color-mode=dark] .scope-chat-llm-chevron{color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-llm-inline-route{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-panel{border-color:rgba(var(--accent-rgb),.24);background:#0f172a;box-shadow:0 16px 30px #0206173d,0 1px #ffffff08 inset;opacity:1}.studio-shell[data-color-mode=dark] .scope-chat-llm-panel-title,.studio-shell[data-color-mode=dark] .scope-chat-llm-group-label{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-reset{border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.16);color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-llm-reset:hover:not(:disabled){background:rgba(var(--accent-rgb),.24);border-color:rgba(var(--accent-rgb),.34)}.studio-shell[data-color-mode=dark] .scope-chat-llm-reset:disabled{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-search{border-top-color:rgba(var(--accent-rgb),.16);border-bottom-color:rgba(var(--accent-rgb),.16)}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-icon{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-input{color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-input::-moz-placeholder{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-input::placeholder{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-route-label{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-route-select{border-color:rgba(var(--accent-rgb),.22);background:rgba(var(--accent-rgb),.12);color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-llm-option{color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-llm-option:hover{background:rgba(var(--accent-rgb),.14)}.studio-shell[data-color-mode=dark] .scope-chat-llm-option.is-active{background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.26)}.studio-shell[data-color-mode=dark] .scope-chat-llm-option-badge,.studio-shell[data-color-mode=dark] .scope-chat-llm-empty,.studio-shell[data-color-mode=dark] .scope-chat-thinking-toggle{color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-thinking-toggle:hover{color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-thinking-body{border-left-color:rgba(var(--accent-rgb),.36);color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-action-button{color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-action-button:hover{background:rgba(var(--accent-rgb),.2);color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-action-button--active{background:rgba(var(--accent-rgb),.24);color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-action-button--emphasis{background:linear-gradient(180deg,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.3));color:#f8fafc;box-shadow:0 6px 16px var(--accent-shadow-strong)}.studio-shell[data-color-mode=dark] .scope-chat-menu{border-color:rgba(var(--accent-rgb),.34);background:linear-gradient(180deg,#0f172af5,#111b2df5);box-shadow:0 18px 40px #0206175c}.studio-shell[data-color-mode=dark] .scope-chat-menu-divider{border-top-color:rgba(var(--accent-rgb),.22)}.studio-shell[data-color-mode=dark] .scope-chat-menu-item{color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-menu-item:hover{background:rgba(var(--accent-rgb),.16)}.studio-shell[data-color-mode=dark] .scope-chat-menu-item-icon{color:#e2e8f0}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.last\:border-b-0:last-child{border-bottom-width:0px}.focus-within\:border-transparent:focus-within{border-color:transparent}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-blue-400:focus-within{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#333\]:hover{--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#F7F5F2\]:hover{--tw-bg-opacity: 1;background-color:rgb(247 245 242 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#F9F6F0\]:hover{--tw-bg-opacity: 1;background-color:rgb(249 246 240 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FAF8F4\]:hover{--tw-bg-opacity: 1;background-color:rgb(250 248 244 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FAFAF8\]:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 248 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FAFAF9\]:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 249 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FBFAF7\]:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 247 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FFF0EB\]:hover{--tw-bg-opacity: 1;background-color:rgb(255 240 235 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FFF4DE\]:hover{--tw-bg-opacity: 1;background-color:rgb(255 244 222 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FFF9F4\]:hover{--tw-bg-opacity: 1;background-color:rgb(255 249 244 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-5{padding:1.25rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_320px\]{grid-template-columns:minmax(0,1.1fr) 320px}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.lg\:items-end{align-items:flex-end}}@media (min-width: 1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}} +.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor .synthetic-focus,.monaco-diff-editor .synthetic-focus,.monaco-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-editor [tabindex="-1"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-editor button:focus,.monaco-diff-editor button:focus,.monaco-editor input[type=button]:focus,.monaco-diff-editor input[type=button]:focus,.monaco-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-editor input[type=search]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-editor input[type=text]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-editor select:focus,.monaco-diff-editor select:focus,.monaco-editor textarea:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .editorCanvas{position:absolute;width:100%;height:100%;z-index:0;pointer-events:none}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar{background:var(--vscode-scrollbar-background)}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-mouse-cursor-text{cursor:text}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{-moz-user-select:text;user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{-moz-user-select:initial;user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{box-sizing:border-box;position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px;pointer-events:none}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.minimap-autohide-mouseover,.minimap.minimap-autohide-scroll{opacity:0;transition:opacity .5s}.minimap.minimap-autohide-scroll{pointer-events:none}.minimap.minimap-autohide-mouseover:hover,.minimap.minimap-autohide-scroll.active{opacity:1;pointer-events:auto}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .monaco-decoration-css-rule-extractor{visibility:hidden;pointer-events:none}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .native-edit-context{margin:0;padding:0;position:absolute;overflow-y:scroll;scrollbar-width:none;z-index:-10;white-space:pre-wrap}.monaco-editor .ime-text-area{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .edit-context-composition-none{background-color:transparent;border-bottom:none}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-secondary{border-bottom:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-primary{border-bottom:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-secondary{border:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-primary{border:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor .margin-view-overlays .gpu-mark{position:absolute;top:0;bottom:0;left:0;width:100%;display:inline-block;border-left:solid 2px var(--vscode-editorWarning-foreground);opacity:.2;transition:background-color .1s linear}.monaco-editor .margin-view-overlays .gpu-mark:hover{background-color:var(--vscode-editorWarning-foreground)}.monaco-hover.workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:5px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-hover.workbench-hover .monaco-action-bar .action-item .codicon{width:13px;height:13px}.monaco-hover.workbench-hover hr{border-bottom:none}.monaco-hover.workbench-hover.compact{font-size:12px}.monaco-hover.workbench-hover.compact .monaco-action-bar .action-item .codicon{width:12px;height:12px}.monaco-hover.workbench-hover.compact .hover-contents{padding:2px 8px}.workbench-hover-container.locked .monaco-hover.workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.workbench-hover-container:focus-within.locked .monaco-hover.workbench-hover{outline-color:var(--vscode-focusBorder)}.workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.workbench-hover-container:focus-within .workbench-hover-pointer:after{border-right:1px solid var(--vscode-focusBorder);border-bottom:1px solid var(--vscode-focusBorder)}.workbench-hover-pointer.left{left:-3px}.workbench-hover-pointer.right{right:3px}.workbench-hover-pointer.top{top:-3px}.workbench-hover-pointer.bottom{bottom:3px}.workbench-hover-pointer.left:after{transform:rotate(135deg)}.workbench-hover-pointer.right:after{transform:rotate(315deg)}.workbench-hover-pointer.top:after{transform:rotate(225deg)}.workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-hover.workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-hover.workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-hover.workbench-hover a.codicon:focus,.monaco-hover.workbench-hover a.monaco-button:focus{text-decoration:none}.monaco-hover.workbench-hover a:hover,.monaco-hover.workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-hover.workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-hover.workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-hover.workbench-hover.right-aligned{left:1px}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.monaco-hover{cursor:default;position:absolute;overflow:hidden;-moz-user-select:text;user-select:text;-webkit-user-select:text;box-sizing:border-box;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.fade-in{animation:fadein .1s linear}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px;vertical-align:middle}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);-webkit-text-decoration:var(--text-link-decoration);text-decoration:var(--text-link-decoration)}.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon{color:var(--vscode-textLink-foreground)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) p:last-child [style*=background-color]{margin-bottom:4px;display:inline-block}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;-moz-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-hover .action-container,.monaco-hover .action,.monaco-hover button,.monaco-hover .monaco-button,.monaco-hover .monaco-text-button,.monaco-hover [role=button]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:3px;min-height:24px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000;background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-list-focusOutline);outline-offset:-1px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label:not(.icon),.monaco-action-bar .action-item.disabled .action-label:not(.icon):before,.monaco-action-bar .action-item.disabled .action-label:not(.icon):hover{color:var(--vscode-disabledForeground)}.monaco-action-bar .action-item.disabled .action-label.icon,.monaco-action-bar .action-item.disabled .action-label.icon:before,.monaco-action-bar .action-item.disabled .action-label.icon:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid var(--vscode-disabledForeground);padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:var(--vscode-disabledForeground)}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{color:var(--vscode-descriptionForeground);overflow:hidden;border-radius:2px}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:", "}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center;border-radius:2px;padding-right:2px}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{cursor:grab;display:flex;align-items:center;border-top-right-radius:5px;border-top-left-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-inline-action-bar>.actions-container>.action-item:first-child{margin-left:5px}.quick-input-inline-action-bar>.actions-container>.action-item{margin-top:2px}.quick-input-title{cursor:grab;padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-right-action-bar>.actions-container>.action-item{margin-left:4px}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{cursor:grab;display:flex;padding:6px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-widget .quick-input-header .monaco-checkbox{margin-top:6px}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 6px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-widget .monaco-checkbox{margin-right:0}.quick-input-widget .quick-input-list .monaco-checkbox,.quick-input-widget .quick-input-tree .monaco-checkbox{margin-top:4px}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.quick-input-list>.monaco-list:focus .monaco-list-row.focused .quick-input-list-entry.quick-input-list-separator-border{border-color:transparent}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.quick-input-tree .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-tree .quick-input-tree-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-tree .quick-input-tree-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-tree .quick-input-tree-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-tree .quick-input-tree-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row{display:flex;align-items:center}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label,.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-tree .quick-input-tree-rows .monaco-highlighted-label>span{opacity:1}.quick-input-tree .quick-input-tree-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-tree .quick-input-tree-entry-action-bar .action-label{display:none}.quick-input-tree .quick-input-tree-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .action-label.always-visible,.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .action-label{display:flex}.quick-input-tree>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 5px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-iconpath{width:16px;height:22px;margin-right:6px;display:flex}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-weight:700}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent;opacity:0}.monaco-enable-motion .monaco-tl-indent>.indent-guide{transition:opacity .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;right:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 10px 0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-enable-motion .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:0px;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-enable-motion .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-enable-motion .monaco-table>.monaco-split-view2,.monaco-enable-motion .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review{-moz-user-select:none;user-select:none;-webkit-user-select:none;z-index:99}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-component.diff-review .action-label{background:var(--vscode-editorActionList-background)}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-toolbar.responsive .monaco-action-bar>.actions-container>.action-item{flex-shrink:1;min-width:20px}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-separatorBackground) solid}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:-moz-fit-content;height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{width:-moz-fit-content;width:fit-content;border-radius:4px;background:var(--vscode-editorGutter-itemBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{color:var(--vscode-editorGutter-itemGlyphForeground);padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{display:flex;height:11px}.monaco-diff-editor .diff-hidden-lines-compact .line-left,.monaco-diff-editor .diff-hidden-lines-compact .line-right{height:1px;border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;margin:auto;width:100%}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;font-size:11px;line-height:11px;margin:0 4px}.monaco-editor .line-delete-selectable{-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important;z-index:1!important}.line-delete-selectable .view-line{-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);position:relative;height:100%;width:100%;overflow-y:hidden}.monaco-component.multiDiffEditor>div{position:absolute;top:0;left:0;height:100%;width:100%}.monaco-component.multiDiffEditor>div.placeholder{visibility:hidden;display:grid;place-items:center;place-content:center}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border: var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{margin:8px 0 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column;border-bottom:1px solid var(--vscode-multiDiffEditor-border);overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.action-widget{font-size:13px;min-width:100px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-menu-border)!important;border-radius:5px;background-color:var(--vscode-menu-background);color:var(--vscode-menu-foreground);padding:4px;box-shadow:0 2px 8px var(--vscode-widget-shadow)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 4px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%;border-radius:3px}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-list-activeSelectionBackground)!important;color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600;font-size:13px}.action-widget .monaco-list-row.group-header:not(:first-of-type){margin-top:2px}.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator{border-top:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-descriptionForeground);font-size:12px;padding:0;margin:4px 0 0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:0}.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator.focused{outline:0 solid;background-color:transparent;border-radius:0}.action-widget .monaco-list-row.separator:first-of-type{border-top:none;margin-top:0}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:4px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.action-widget .action-widget-action-bar{background-color:var(--vscode-menu-background);border-top:1px solid var(--vscode-menu-border);margin-top:2px}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:4px 8px 2px 24px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:13px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.action-widget .monaco-list .monaco-list-row .description{opacity:.7;margin-left:.5em}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;color:var(--vscode-button-foreground);background-color:var(--vscode-button-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-hoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}@font-face{font-family:codicon;font-display:block;src:url(/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-user-select:none;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;z-index:1}.monaco-editor .glyph-margin-widgets .cgmr[class*=codicon-gutter-lightbulb]{display:block;cursor:pointer}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-auto-fix,.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-aifix-auto-fix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .glyph-margin-widgets .cgmr.codicon-gutter-lightbulb-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-flex!important;align-items:center;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{-moz-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub;display:inline-flex;align-items:center}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon[class*=codicon-]{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.monaco-editor .inlineSuggestionsHints{padding:4px}.monaco-editor .inlineSuggestionsHints .warningMessage p{margin:0}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)!important}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground);border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:var(--vscode-editorWidget-background)}.monaco-reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px;outline-color:var(--vscode-focusBorder)}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important;background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);padding:1px;box-sizing:border-box}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{left:0!important;background-color:var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border))}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.colorpicker-widget{height:190px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{color:var(--vscode-peekViewResult-fileForeground)!important;background-color:var(--vscode-peekViewResult-matchHighlightBackground)!important}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.chat-attached-context-attachment .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-resizable-hover{border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;box-sizing:content-box}.monaco-editor .monaco-resizable-hover>.monaco-hover{border:none;border-radius:none}.monaco-editor .monaco-hover{border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background)}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row{display:flex}.monaco-editor .monaco-hover .hover-row.hover-row-with-copy{position:relative;padding-right:20px}.monaco-editor .monaco-hover .hover-row .hover-row-contents{min-width:0;display:flex;flex-direction:column}.monaco-editor .monaco-hover .hover-row .verbosity-actions{border-right:1px solid var(--vscode-editorHoverWidget-border);width:22px;overflow-y:clip}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner{display:flex;flex-direction:column;padding-left:5px;padding-right:5px;justify-content:flex-end;position:relative}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon{cursor:pointer;font-size:11px}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.enabled{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover .hover-row .verbosity-actions-inner .codicon.disabled{opacity:.6}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .monaco-hover .hover-copy-button{position:absolute;top:4px;right:4px;padding:2px 4px;border-radius:3px;display:flex;align-items:center;justify-content:center;opacity:0}.monaco-editor .monaco-hover .hover-row-with-copy:hover .hover-copy-button,.monaco-editor .monaco-hover .hover-row-with-copy:focus-within .hover-copy-button{opacity:1}.monaco-editor .monaco-hover .hover-copy-button:hover{background-color:var(--vscode-toolbar-hoverBackground);cursor:pointer}.monaco-editor .monaco-hover .hover-copy-button:focus{outline:1px solid var(--vscode-focusBorder);outline-offset:-1px}.monaco-editor .monaco-hover .hover-copy-button .codicon{font-size:16px;color:var(--vscode-foreground)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:var(--vscode-editor-foldPlaceholderForeground);margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details:focus{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 4px 5px}.monaco-editor .suggest-details.detail-and-doc>.monaco-scrollable-element>.body>.header>.type{padding-bottom:12px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .suggest-preview-text.clickable .view-line{z-index:1}.monaco-editor .ghost-text-decoration.clickable,.monaco-editor .ghost-text-decoration-preview.clickable,.monaco-editor .suggest-preview-text.clickable .ghost-text{cursor:pointer}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .ghost-text-decoration.syntax-highlighted,.monaco-editor .ghost-text-decoration-preview.syntax-highlighted,.monaco-editor .suggest-preview-text .ghost-text.syntax-highlighted{opacity:.7}.monaco-editor .ghost-text-decoration:not(.syntax-highlighted),.monaco-editor .ghost-text-decoration-preview:not(.syntax-highlighted),.monaco-editor .suggest-preview-text .ghost-text:not(.syntax-highlighted){color:var(--vscode-editorGhostText-foreground)}.monaco-editor .ghost-text-decoration.warning,.monaco-editor .ghost-text-decoration-preview.warning,.monaco-editor .suggest-preview-text .ghost-text.warning{background:var(--monaco-editor-warning-decoration) repeat-x bottom left;border-bottom:4px double var(--vscode-editorWarning-border)}.ghost-text-view-warning-widget-icon .codicon{color:var(--vscode-editorWarning-foreground)!important}.monaco-editor .edits-fadeout-decoration{opacity:var(--animation-opacity, 1);background-color:var(--vscode-inlineEdit-modifiedChangedTextBackground)}.monaco-editor .sticky-widget{overflow:hidden;border-bottom:1px solid var(--vscode-editorStickyScroll-border);width:100%;box-shadow:var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;z-index:4;right:initial!important;margin-left:"0px"}.monaco-editor .sticky-widget .sticky-widget-line-numbers{float:left;background-color:var(--vscode-editorStickyScrollGutter-background)}.monaco-editor .sticky-widget.peek .sticky-widget-line-numbers{background-color:var(--vscode-peekViewEditorStickyScrollGutter-background)}.monaco-editor .sticky-widget .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek .sticky-widget-lines-scrollable{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .sticky-widget .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-widget .sticky-line-number,.monaco-editor .sticky-widget .sticky-line-content{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-expanded,.monaco-editor .sticky-widget .sticky-line-number .codicon-folding-collapsed{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition);position:absolute;margin-left:2px}.monaco-editor .sticky-widget .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-widget .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .inline-edits-view-indicator{display:flex;z-index:34;height:20px;color:var(--vscode-inlineEdit-gutterIndicator-primaryForeground);background-color:var(--vscode-inlineEdit-gutterIndicator-background);border:1px solid var(--vscode-inlineEdit-gutterIndicator-primaryBorder);border-radius:3px;align-items:center;padding:2px 10px 2px 2px;margin:0 4px;opacity:0}.monaco-editor .inline-edits-view-indicator.contained{transition:opacity .2s ease-in-out;transition-delay:.4s}.monaco-editor .inline-edits-view-indicator.visible,.monaco-editor .inline-edits-view-indicator.top{opacity:1}.monaco-editor .inline-edits-view-indicator.top .icon{transform:rotate(90deg)}.monaco-editor .inline-edits-view-indicator.bottom{opacity:1}.monaco-editor .inline-edits-view-indicator.bottom .icon{transform:rotate(-90deg)}.monaco-editor .inline-edits-view-indicator .icon{display:flex;align-items:center;margin:0 2px;transform:none;transition:transform .2s ease-in-out}.monaco-editor .inline-edits-view-indicator .icon .codicon{color:var(--vscode-inlineEdit-gutterIndicator-primaryForeground)}.monaco-editor .inline-edits-view-indicator .label{margin:0 2px;display:flex;justify-content:center;width:100%}.monaco-editor .inline-edits-view .editorContainer .preview .monaco-editor .view-overlays .current-line-exact,.monaco-editor .inline-edits-view .editorContainer .preview .monaco-editor .current-line-margin{border:none}.monaco-editor .inline-edits-view .editorContainer .inline-edits-view-zone.diagonal-fill{opacity:.5}.monaco-editor .strike-through{text-decoration:line-through}.monaco-editor .inlineCompletions-line-insert{background:var(--vscode-inlineEdit-modifiedChangedLineBackground)}.monaco-editor .inlineCompletions-line-delete{background:var(--vscode-inlineEdit-originalChangedLineBackground)}.monaco-editor .inlineCompletions-char-insert{background:var(--vscode-inlineEdit-modifiedChangedTextBackground);cursor:pointer}.monaco-editor .inlineCompletions-char-delete{background:var(--vscode-inlineEdit-originalChangedTextBackground)}.monaco-editor .inlineCompletions-char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-inlineEdit-originalChangedTextBackground) 3px}.monaco-editor .inlineCompletions-char-insert.diff-range-empty{border-left:solid var(--vscode-inlineEdit-modifiedChangedTextBackground) 3px}.monaco-editor .inlineCompletions-char-delete.single-line-inline{border:1px solid var(--vscode-editorHoverWidget-border);margin:-2px 0 0 -2px}.monaco-editor .inlineCompletions-char-insert.single-line-inline{border-top:1px solid var(--vscode-inlineEdit-modifiedBorder);border-bottom:1px solid var(--vscode-inlineEdit-modifiedBorder)}.monaco-editor .inlineCompletions-char-insert.single-line-inline.start{border-top-left-radius:4px;border-bottom-left-radius:4px;border-left:1px solid var(--vscode-inlineEdit-modifiedBorder)}.monaco-editor .inlineCompletions-char-insert.single-line-inline.end{border-top-right-radius:4px;border-bottom-right-radius:4px;border-right:1px solid var(--vscode-inlineEdit-modifiedBorder)}.monaco-editor .inlineCompletions-char-delete.single-line-inline.empty,.monaco-editor .inlineCompletions-char-insert.single-line-inline.empty{display:none}.monaco-editor .inlineCompletions.strike-through{text-decoration-thickness:1px}.monaco-editor .inlineCompletions-modified-bubble{background:var(--vscode-inlineEdit-modifiedChangedTextBackground)}.monaco-editor .inlineCompletions-original-bubble{background:var(--vscode-inlineEdit-originalChangedTextBackground)}.monaco-editor .inlineCompletions-modified-bubble,.monaco-editor .inlineCompletions-original-bubble{pointer-events:none;display:inline-block}.monaco-editor .inline-edit.ghost-text,.monaco-editor .inline-edit.ghost-text-decoration,.monaco-editor .inline-edit.ghost-text-decoration-preview,.monaco-editor .inline-edit.suggest-preview-text .ghost-text{font-style:normal!important}.monaco-editor .inline-edit.ghost-text.syntax-highlighted,.monaco-editor .inline-edit.ghost-text-decoration.syntax-highlighted,.monaco-editor .inline-edit.ghost-text-decoration-preview.syntax-highlighted,.monaco-editor .inline-edit.suggest-preview-text .ghost-text.syntax-highlighted{opacity:1!important}.monaco-editor .inline-edit.modified-background.ghost-text,.monaco-editor .inline-edit.modified-background.ghost-text-decoration,.monaco-editor .inline-edit.modified-background.ghost-text-decoration-preview,.monaco-editor .inline-edit.modified-background.suggest-preview-text .ghost-text{background:var(--vscode-inlineEdit-modifiedChangedTextBackground)!important;display:inline-block!important}.monaco-editor .inlineCompletions-original-lines{background:var(--vscode-editor-background)}.monaco-menu-option{color:var(--vscode-editorActionList-foreground);font-size:13px;padding:0 4px;line-height:28px;display:flex;gap:4px;align-items:center;border-radius:3px;cursor:pointer}.monaco-menu-option .monaco-keybinding-key{font-size:13px;opacity:.7}.monaco-menu-option.active{background:var(--vscode-editorActionList-focusBackground);color:var(--vscode-editorActionList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.monaco-menu-option.active .monaco-keybinding-key{color:var(--vscode-editorActionList-focusForeground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .scroll-editor-on-middle-click-dot{cursor:all-scroll;position:absolute;z-index:1;background-color:var(--vscode-editor-foreground, white);border:1px solid var(--vscode-editor-background, black);opacity:.5;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%)}.monaco-editor .scroll-editor-on-middle-click-dot.hidden{display:none}.monaco-editor.scroll-editor-on-middle-click-editor *{cursor:all-scroll}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .code{font-family:var(--vscode-parameterHintsWidget-editorFontFamily),var(--vscode-parameterHintsWidget-editorFontFamilyDefault)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .editorPlaceholder{top:0;position:absolute;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;pointer-events:none;color:var(--vscode-editor-placeholder-foreground)}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input-with-button{padding:3px;border-radius:2px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input{width:calc(100% - 8px);padding:0}.monaco-editor .rename-box .rename-input:focus{outline:none}.monaco-editor .rename-box .rename-suggestions-button{display:flex;align-items:center;padding:3px;background-color:transparent;border:none;border-radius:5px;cursor:pointer}.monaco-editor .rename-box .rename-suggestions-button:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-editor .rename-box .rename-candidate-list-container .monaco-list-row{border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.floating-menu-overlay-widget{padding:0;color:var(--vscode-button-foreground);background-color:var(--vscode-button-background);border-radius:2px;border:1px solid var(--vscode-contrastBorder);display:flex;align-items:center;z-index:10;box-shadow:0 2px 8px var(--vscode-widget-shadow);overflow:hidden}.floating-menu-overlay-widget .action-item>.action-label{padding:5px;font-size:12px;border-radius:2px}.floating-menu-overlay-widget .action-item>.action-label.codicon{color:var(--vscode-button-foreground)}.floating-menu-overlay-widget .action-item>.action-label.codicon:not(.separator){padding-top:6px;padding-bottom:6px}.floating-menu-overlay-widget .action-item:first-child>.action-label{padding-left:7px}.floating-menu-overlay-widget .action-item:last-child>.action-label{padding-right:7px}.floating-menu-overlay-widget .action-item .action-label.separator{background-color:var(--vscode-menu-separatorBackground)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#f7f6f3;color:#1f2328;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-4{top:1rem}.top-full{top:100%}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.\!mt-0{margin-top:0!important}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[52px\]{height:52px}.h-\[65vh\]{height:65vh}.h-\[88px\]{height:88px}.h-full{height:100%}.h-screen{height:100vh}.\!max-h-\[70vh\]{max-height:70vh!important}.max-h-\[100px\]{max-height:100px}.max-h-\[120px\]{max-height:120px}.max-h-\[140px\]{max-height:140px}.max-h-\[180px\]{max-height:180px}.max-h-\[220px\]{max-height:220px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[400px\]{max-height:400px}.max-h-\[420px\]{max-height:420px}.max-h-\[55vh\]{max-height:55vh}.max-h-\[560px\]{max-height:560px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[620px\]{max-height:620px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[calc\(100\%-136px\)\]{max-height:calc(100% - 136px)}.max-h-\[calc\(100\%-180px\)\]{max-height:calc(100% - 180px)}.\!min-h-\[112px\]{min-height:112px!important}.\!min-h-\[280px\]{min-height:280px!important}.\!min-h-\[32px\]{min-height:32px!important}.\!min-h-\[34px\]{min-height:34px!important}.\!min-h-\[400px\]{min-height:400px!important}.\!min-h-\[40px\]{min-height:40px!important}.\!min-h-\[88px\]{min-height:88px!important}.\!min-h-\[96px\]{min-height:96px!important}.min-h-0{min-height:0px}.min-h-\[180px\]{min-height:180px}.min-h-\[240px\]{min-height:240px}.min-h-\[300px\]{min-height:300px}.min-h-\[320px\]{min-height:320px}.min-h-\[400px\]{min-height:400px}.min-h-\[420px\]{min-height:420px}.min-h-\[82px\]{min-height:82px}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1\.5{width:.375rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-\[236px\]{width:236px}.w-\[240px\]{width:240px}.w-\[260px\]{width:260px}.w-\[268px\]{width:268px}.w-\[2px\]{width:2px}.w-\[320px\]{width:320px}.w-\[34px\]{width:34px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[56px\]{width:56px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[56px\]{min-width:56px}.max-w-3xl{max-width:48rem}.max-w-\[1040px\]{max-width:1040px}.max-w-\[120px\]{max-width:120px}.max-w-\[1500px\]{max-width:1500px}.max-w-\[160px\]{max-width:160px}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[460px\]{max-width:460px}.max-w-\[500px\]{max-width:500px}.max-w-\[520px\]{max-width:520px}.max-w-\[56px\]{max-width:56px}.max-w-\[780px\]{max-width:780px}.max-w-\[80\%\]{max-width:80%}.max-w-\[82\%\]{max-width:82%}.max-w-\[85\%\]{max-width:85%}.max-w-\[88\%\]{max-width:88%}.max-w-\[880px\]{max-width:880px}.max-w-\[920px\]{max-width:920px}.max-w-\[94\%\]{max-width:94%}.max-w-\[960px\]{max-width:960px}.max-w-\[calc\(100vw-24px\)\]{max-width:calc(100vw - 24px)}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-blink{animation:blink 1s step-end infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#EEEAE4\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(238 234 228 / var(--tw-divide-opacity, 1))}.divide-\[\#F0EDE8\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(240 237 232 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-\[18px\]{border-radius:18px!important}.\!rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[30px\]{border-radius:30px}.rounded-\[32px\]{border-radius:32px}.rounded-\[36px\]{border-radius:36px}.rounded-\[38px\]{border-radius:38px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-\[14px\]{border-bottom-right-radius:14px}.rounded-br-md{border-bottom-right-radius:.375rem}.\!border-0{border-width:0px!important}.border{border-width:1px}.border-0{border-width:0px}.border-x-\[5px\]{border-left-width:5px;border-right-width:5px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-\[5px\]{border-top-width:5px}.border-dashed{border-style:dashed}.\!border-\[\#E8E1D8\]{--tw-border-opacity: 1 !important;border-color:rgb(232 225 216 / var(--tw-border-opacity, 1))!important}.border-\[\#18181B\]{--tw-border-opacity: 1;border-color:rgb(24 24 27 / var(--tw-border-opacity, 1))}.border-\[\#D8D1C7\]{--tw-border-opacity: 1;border-color:rgb(216 209 199 / var(--tw-border-opacity, 1))}.border-\[\#D9E5CB\]{--tw-border-opacity: 1;border-color:rgb(217 229 203 / var(--tw-border-opacity, 1))}.border-\[\#DCE8C8\]{--tw-border-opacity: 1;border-color:rgb(220 232 200 / var(--tw-border-opacity, 1))}.border-\[\#E5DED3\]{--tw-border-opacity: 1;border-color:rgb(229 222 211 / var(--tw-border-opacity, 1))}.border-\[\#E6E0D6\]{--tw-border-opacity: 1;border-color:rgb(230 224 214 / var(--tw-border-opacity, 1))}.border-\[\#E6E0D7\]{--tw-border-opacity: 1;border-color:rgb(230 224 215 / var(--tw-border-opacity, 1))}.border-\[\#E6E3DE\]{--tw-border-opacity: 1;border-color:rgb(230 227 222 / var(--tw-border-opacity, 1))}.border-\[\#E7E1D9\]{--tw-border-opacity: 1;border-color:rgb(231 225 217 / var(--tw-border-opacity, 1))}.border-\[\#E8E2D9\]{--tw-border-opacity: 1;border-color:rgb(232 226 217 / var(--tw-border-opacity, 1))}.border-\[\#E8E4DD\]{--tw-border-opacity: 1;border-color:rgb(232 228 221 / var(--tw-border-opacity, 1))}.border-\[\#E9D6AE\]{--tw-border-opacity: 1;border-color:rgb(233 214 174 / var(--tw-border-opacity, 1))}.border-\[\#EADBB8\]{--tw-border-opacity: 1;border-color:rgb(234 219 184 / var(--tw-border-opacity, 1))}.border-\[\#EAE4DB\]{--tw-border-opacity: 1;border-color:rgb(234 228 219 / var(--tw-border-opacity, 1))}.border-\[\#EAE5DE\]{--tw-border-opacity: 1;border-color:rgb(234 229 222 / var(--tw-border-opacity, 1))}.border-\[\#ECE7DF\]{--tw-border-opacity: 1;border-color:rgb(236 231 223 / var(--tw-border-opacity, 1))}.border-\[\#EEEAE4\]{--tw-border-opacity: 1;border-color:rgb(238 234 228 / var(--tw-border-opacity, 1))}.border-\[\#F0D7A5\]{--tw-border-opacity: 1;border-color:rgb(240 215 165 / var(--tw-border-opacity, 1))}.border-\[\#F0D7D0\]{--tw-border-opacity: 1;border-color:rgb(240 215 208 / var(--tw-border-opacity, 1))}.border-\[\#F0ECE5\]{--tw-border-opacity: 1;border-color:rgb(240 236 229 / var(--tw-border-opacity, 1))}.border-\[\#F0EDE8\]{--tw-border-opacity: 1;border-color:rgb(240 237 232 / var(--tw-border-opacity, 1))}.border-\[\#F1EAE2\]{--tw-border-opacity: 1;border-color:rgb(241 234 226 / var(--tw-border-opacity, 1))}.border-\[\#F1ECE5\]{--tw-border-opacity: 1;border-color:rgb(241 236 229 / var(--tw-border-opacity, 1))}.border-\[\#F2CCC4\]{--tw-border-opacity: 1;border-color:rgb(242 204 196 / var(--tw-border-opacity, 1))}.border-\[\#F2EEE8\]{--tw-border-opacity: 1;border-color:rgb(242 238 232 / var(--tw-border-opacity, 1))}.border-\[\#F2F1EE\]{--tw-border-opacity: 1;border-color:rgb(242 241 238 / var(--tw-border-opacity, 1))}.border-\[\#F3D3CD\]{--tw-border-opacity: 1;border-color:rgb(243 211 205 / var(--tw-border-opacity, 1))}.border-\[color\:var\(--accent-border\)\]{border-color:var(--accent-border)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-black\/10{border-color:#0000001a}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-violet-200{--tw-border-opacity: 1;border-color:rgb(221 214 254 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-white\/35{border-color:#ffffff59}.border-x-transparent{border-left-color:transparent;border-right-color:transparent}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-gray-800{--tw-border-opacity: 1;border-top-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.\!bg-\[\#FAF8F4\]{--tw-bg-opacity: 1 !important;background-color:rgb(250 248 244 / var(--tw-bg-opacity, 1))!important}.\!bg-transparent{background-color:transparent!important}.\!bg-white{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))!important}.bg-\[\#18181B\]{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-\[\#1A1A1A\]{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.bg-\[\#2563EB\]{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-\[\#DBEAFE\]{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-\[\#EBF0FF\]{--tw-bg-opacity: 1;background-color:rgb(235 240 255 / var(--tw-bg-opacity, 1))}.bg-\[\#ECE8FF\]{--tw-bg-opacity: 1;background-color:rgb(236 232 255 / var(--tw-bg-opacity, 1))}.bg-\[\#ECEAE6\]{--tw-bg-opacity: 1;background-color:rgb(236 234 230 / var(--tw-bg-opacity, 1))}.bg-\[\#EEF3FF\]{--tw-bg-opacity: 1;background-color:rgb(238 243 255 / var(--tw-bg-opacity, 1))}.bg-\[\#F0EDE8\]{--tw-bg-opacity: 1;background-color:rgb(240 237 232 / var(--tw-bg-opacity, 1))}.bg-\[\#F2F1EE\]{--tw-bg-opacity: 1;background-color:rgb(242 241 238 / var(--tw-bg-opacity, 1))}.bg-\[\#F3EFE9\]{--tw-bg-opacity: 1;background-color:rgb(243 239 233 / var(--tw-bg-opacity, 1))}.bg-\[\#F3F0EA\]{--tw-bg-opacity: 1;background-color:rgb(243 240 234 / var(--tw-bg-opacity, 1))}.bg-\[\#F4F0EA\]{--tw-bg-opacity: 1;background-color:rgb(244 240 234 / var(--tw-bg-opacity, 1))}.bg-\[\#F5FBEE\]{--tw-bg-opacity: 1;background-color:rgb(245 251 238 / var(--tw-bg-opacity, 1))}.bg-\[\#F6F2FF\]{--tw-bg-opacity: 1;background-color:rgb(246 242 255 / var(--tw-bg-opacity, 1))}.bg-\[\#F7EDE4\]{--tw-bg-opacity: 1;background-color:rgb(247 237 228 / var(--tw-bg-opacity, 1))}.bg-\[\#F7F2E8\]{--tw-bg-opacity: 1;background-color:rgb(247 242 232 / var(--tw-bg-opacity, 1))}.bg-\[\#F7F5F2\]{--tw-bg-opacity: 1;background-color:rgb(247 245 242 / var(--tw-bg-opacity, 1))}.bg-\[\#FAF8F4\]{--tw-bg-opacity: 1;background-color:rgb(250 248 244 / var(--tw-bg-opacity, 1))}.bg-\[\#FAFAF8\]{--tw-bg-opacity: 1;background-color:rgb(250 250 248 / var(--tw-bg-opacity, 1))}.bg-\[\#FAFAF9\]{--tw-bg-opacity: 1;background-color:rgb(250 250 249 / var(--tw-bg-opacity, 1))}.bg-\[\#FCFBF8\]{--tw-bg-opacity: 1;background-color:rgb(252 251 248 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF4F1\]{--tw-bg-opacity: 1;background-color:rgb(255 244 241 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF5F2\]{--tw-bg-opacity: 1;background-color:rgb(255 245 242 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF7E6\]{--tw-bg-opacity: 1;background-color:rgb(255 247 230 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF7E8\]{--tw-bg-opacity: 1;background-color:rgb(255 247 232 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF8EB\]{--tw-bg-opacity: 1;background-color:rgb(255 248 235 / var(--tw-bg-opacity, 1))}.bg-\[\#FFFCF8\]{--tw-bg-opacity: 1;background-color:rgb(255 252 248 / var(--tw-bg-opacity, 1))}.bg-\[var\(--accent-icon-surface\,\#EBF0FF\)\]{background-color:var(--accent-icon-surface,#EBF0FF)}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-400{--tw-bg-opacity: 1;background-color:rgb(167 139 250 / var(--tw-bg-opacity, 1))}.bg-violet-50{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/5{background-color:#ffffff0d}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from: #10b981 var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-fuchsia-500{--tw-gradient-from: #d946ef var(--tw-gradient-from-position);--tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from: #f43f5e var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-500{--tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #FF6B35 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to: #14b8a6 var(--tw-gradient-to-position)}.to-violet-500{--tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-\[52px\]{padding-left:52px}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:JetBrains Mono,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-\[2\.05\]{line-height:2.05}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#1D4ED8\]{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-\[\#315A84\]{--tw-text-opacity: 1;color:rgb(49 90 132 / var(--tw-text-opacity, 1))}.text-\[\#3B5CCC\]{--tw-text-opacity: 1;color:rgb(59 92 204 / var(--tw-text-opacity, 1))}.text-\[\#5C7A2D\]{--tw-text-opacity: 1;color:rgb(92 122 45 / var(--tw-text-opacity, 1))}.text-\[\#6D28D9\]{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-\[\#8A4B12\]{--tw-text-opacity: 1;color:rgb(138 75 18 / var(--tw-text-opacity, 1))}.text-\[\#8A877F\]{--tw-text-opacity: 1;color:rgb(138 135 127 / var(--tw-text-opacity, 1))}.text-\[\#8E6A3D\]{--tw-text-opacity: 1;color:rgb(142 106 61 / var(--tw-text-opacity, 1))}.text-\[\#9B4D19\]{--tw-text-opacity: 1;color:rgb(155 77 25 / var(--tw-text-opacity, 1))}.text-\[\#9B6A1C\]{--tw-text-opacity: 1;color:rgb(155 106 28 / var(--tw-text-opacity, 1))}.text-\[\#A55A17\]{--tw-text-opacity: 1;color:rgb(165 90 23 / var(--tw-text-opacity, 1))}.text-\[\#B15647\]{--tw-text-opacity: 1;color:rgb(177 86 71 / var(--tw-text-opacity, 1))}.text-\[\#B45309\]{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-\[color\:var\(--accent-text\)\]{color:var(--accent-text)}.text-\[var\(--accent\,\#2563eb\)\]{color:var(--accent,#2563eb)}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-violet-500{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-violet-700{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.\!no-underline{text-decoration-line:none!important}.decoration-blue-300{text-decoration-color:#93c5fd}.decoration-white\/50{text-decoration-color:#ffffff80}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[\#18181B\]{accent-color:#18181B}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.\!shadow-none{--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow-\[0_10px_20px_rgba\(17\,24\,39\,0\.05\)\]{--tw-shadow: 0 10px 20px rgba(17,24,39,.05);--tw-shadow-colored: 0 10px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_24px_rgba\(31\,28\,24\,0\.04\)\]{--tw-shadow: 0 10px 24px rgba(31,28,24,.04);--tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_rgba\(37\,99\,235\,0\.08\)\]{--tw-shadow: 0 12px 30px rgba(37,99,235,.08);--tw-shadow-colored: 0 12px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_32px_rgba\(180\,125\,44\,0\.12\)\]{--tw-shadow: 0 14px 32px rgba(180,125,44,.12);--tw-shadow-colored: 0 14px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_36px_rgba\(17\,24\,39\,0\.16\)\]{--tw-shadow: 0 18px 36px rgba(17,24,39,.16);--tw-shadow-colored: 0 18px 36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_22px_46px_rgba\(17\,24\,39\,0\.16\)\]{--tw-shadow: 0 22px 46px rgba(17,24,39,.16);--tw-shadow-colored: 0 22px 46px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_56px_rgba\(17\,24\,39\,0\.18\)\]{--tw-shadow: 0 24px 56px rgba(17,24,39,.18);--tw-shadow-colored: 0 24px 56px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_26px_64px_rgba\(17\,24\,39\,0\.08\)\]{--tw-shadow: 0 26px 64px rgba(17,24,39,.08);--tw-shadow-colored: 0 26px 64px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_26px_64px_rgba\(17\,24\,39\,0\.16\)\]{--tw-shadow: 0 26px 64px rgba(17,24,39,.16);--tw-shadow-colored: 0 26px 64px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_70px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow: 0 28px 70px rgba(15,23,42,.08);--tw-shadow-colored: 0 28px 70px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_30px_72px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow: 0 30px 72px rgba(15,23,42,.08);--tw-shadow-colored: 0 30px 72px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-slate-200\/70{--tw-shadow-color: rgb(226 232 240 / .7);--tw-shadow: var(--tw-shadow-colored)}.shadow-stone-200\/60{--tw-shadow-color: rgb(231 229 228 / .6);--tw-shadow: var(--tw-shadow-colored)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#827a6e38;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#827a6e5c}.studio-rail{width:68px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px;border-right:1px solid #e8e4dd;background:#fbfaf8}.studio-shell[data-color-mode=dark] .studio-rail{border-right-color:#223047;background:#0d1422}.studio-shell{--accent: #2563eb;--accent-rgb: 37, 99, 235;--accent-strong: #1d4ed8;--accent-text: #2555c7;--accent-gradient-start: #2563eb;--accent-gradient-end: #2563eb;--accent-soft-start: #f2f6ff;--accent-soft-end: #ebf2ff;--accent-icon-surface: #e8f0ff;--accent-border: rgba(var(--accent-rgb), .22);--accent-shadow: rgba(var(--accent-rgb), .08);--accent-shadow-strong: rgba(var(--accent-rgb), .14);--accent-focus: rgba(var(--accent-rgb), .09)}.studio-shell[data-appearance=coral]{--accent: #f0483e;--accent-rgb: 240, 72, 62;--accent-strong: #df3f35;--accent-text: #f0483e;--accent-gradient-start: #f0483e;--accent-gradient-end: #f0483e;--accent-soft-start: #fff8f5;--accent-soft-end: #fff1ec;--accent-icon-surface: #ffebe4;--accent-border: rgba(var(--accent-rgb), .24);--accent-shadow: rgba(var(--accent-rgb), .08);--accent-shadow-strong: rgba(var(--accent-rgb), .14);--accent-focus: rgba(var(--accent-rgb), .08)}.studio-shell[data-appearance=forest]{--accent: #2f8f6a;--accent-rgb: 47, 143, 106;--accent-strong: #227554;--accent-text: #227554;--accent-gradient-start: #2f8f6a;--accent-gradient-end: #2f8f6a;--accent-soft-start: #f4fbf7;--accent-soft-end: #eaf7f0;--accent-icon-surface: #e4f4ea;--accent-border: rgba(var(--accent-rgb), .24);--accent-shadow: rgba(var(--accent-rgb), .08);--accent-shadow-strong: rgba(var(--accent-rgb), .14);--accent-focus: rgba(var(--accent-rgb), .1)}.studio-shell[data-color-mode=dark]{color-scheme:dark;background:#0b1220;--accent-soft-start: rgba(var(--accent-rgb), .16);--accent-soft-end: rgba(var(--accent-rgb), .24);--accent-icon-surface: rgba(var(--accent-rgb), .22);--accent-border: rgba(var(--accent-rgb), .42);--accent-shadow: rgba(var(--accent-rgb), .18);--accent-shadow-strong: rgba(var(--accent-rgb), .3);--accent-focus: rgba(var(--accent-rgb), .18)}.studio-shell[data-color-mode=dark] .bg-\[\#F2F1EE\],.studio-shell[data-color-mode=dark] .bg-\[\#ECEAE6\]{background-color:#0b1220}.studio-shell[data-color-mode=dark] .bg-white,.studio-shell[data-color-mode=dark] .bg-white\/60,.studio-shell[data-color-mode=dark] .bg-white\/70,.studio-shell[data-color-mode=dark] .bg-white\/80,.studio-shell[data-color-mode=dark] .bg-white\/90,.studio-shell[data-color-mode=dark] .bg-white\/92,.studio-shell[data-color-mode=dark] .bg-white\/95,.studio-shell[data-color-mode=dark] .bg-white\/94,.studio-shell[data-color-mode=dark] .bg-white\/96{background-color:#0f172af0}.studio-shell[data-color-mode=dark] .bg-\[\#FAF8F4\],.studio-shell[data-color-mode=dark] .bg-\[\#F6F2EC\],.studio-shell[data-color-mode=dark] .bg-\[\#F3F0EA\],.studio-shell[data-color-mode=dark] .bg-\[\#ECE8E2\],.studio-shell[data-color-mode=dark] .bg-\[\#F0EDE8\],.studio-shell[data-color-mode=dark] .bg-\[\#F4F0EA\],.studio-shell[data-color-mode=dark] .bg-\[\#FAFAF8\],.studio-shell[data-color-mode=dark] .bg-\[\#FAFAF9\],.studio-shell[data-color-mode=dark] .bg-\[\#FFFCF8\],.studio-shell[data-color-mode=dark] .bg-\[\#FFF9F4\],.studio-shell[data-color-mode=dark] .bg-\[\#F7F5F2\],.studio-shell[data-color-mode=dark] .bg-\[\#F7FAFD\],.studio-shell[data-color-mode=dark] .bg-\[\#F7FAFC\],.studio-shell[data-color-mode=dark] .bg-\[\#FCFBF8\]{background-color:#111b2d}.studio-shell[data-color-mode=dark] .bg-\[\#F6F2FF\]{background-color:#8b5cf61f}.studio-shell[data-color-mode=dark] .bg-\[\#EBF0FF\],.studio-shell[data-color-mode=dark] .bg-\[\#DBEAFE\],.studio-shell[data-color-mode=dark] .bg-\[\#DCE5F0\],.studio-shell[data-color-mode=dark] .bg-\[\#E9EEF5\],.studio-shell[data-color-mode=dark] .bg-\[\#EEF3F8\]{background-color:#3b82f624}.studio-shell[data-color-mode=dark] .bg-\[\#ECE8FF\]{background-color:#8b5cf624}.studio-shell[data-color-mode=dark] .bg-\[\#F3EFE9\]{background-color:#f59e0b24}.studio-shell[data-color-mode=dark] .bg-blue-50{background-color:#3b82f629}.studio-shell[data-color-mode=dark] .bg-green-50,.studio-shell[data-color-mode=dark] .bg-green-100{background-color:#22c55e29}.studio-shell[data-color-mode=dark] .bg-red-50,.studio-shell[data-color-mode=dark] .bg-red-100{background-color:#ef444429}.studio-shell[data-color-mode=dark] .bg-amber-50,.studio-shell[data-color-mode=dark] .bg-amber-100{background-color:#f59e0b2e}.studio-shell[data-color-mode=dark] .bg-violet-50{background-color:#8b5cf629}.studio-shell[data-color-mode=dark] .bg-gray-50,.studio-shell[data-color-mode=dark] .bg-gray-100{background-color:#162236}.studio-shell[data-color-mode=dark] .hover\:bg-gray-50:hover,.studio-shell[data-color-mode=dark] .hover\:bg-red-50:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FAFAF8\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FAFAF9\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#F7F5F2\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FFF9F4\]:hover{background-color:#1a2940}.studio-shell[data-color-mode=dark] .border-gray-200,.studio-shell[data-color-mode=dark] .border-\[\#E6E3DE\],.studio-shell[data-color-mode=dark] .border-\[\#EEEAE4\],.studio-shell[data-color-mode=dark] .border-\[\#E5E1DA\],.studio-shell[data-color-mode=dark] .border-\[\#EAE4DB\],.studio-shell[data-color-mode=dark] .border-\[\#E5DED3\],.studio-shell[data-color-mode=dark] .border-\[\#F0EDE8\],.studio-shell[data-color-mode=dark] .border-\[\#F0ECE5\],.studio-shell[data-color-mode=dark] .border-\[\#F2EEE8\],.studio-shell[data-color-mode=dark] .border-\[\#E7E1D9\],.studio-shell[data-color-mode=dark] .border-\[\#EAE5DE\],.studio-shell[data-color-mode=dark] .border-\[\#F1EAE2\],.studio-shell[data-color-mode=dark] .border-\[\#D8D1C7\],.studio-shell[data-color-mode=dark] .border-\[\#D9E0E7\],.studio-shell[data-color-mode=dark] .border-\[\#DCE5EF\],.studio-shell[data-color-mode=dark] .border-\[\#E1E8F0\],.studio-shell[data-color-mode=dark] .border-\[\#F2F1EE\],.studio-shell[data-color-mode=dark] .border-\[\#F1ECE5\],.studio-shell[data-color-mode=dark] .border-gray-100{border-color:#223047}.studio-shell[data-color-mode=dark] .divide-\[\#EEEAE4\]>:not([hidden])~:not([hidden]){border-color:#223047}.studio-shell[data-color-mode=dark] .border-blue-200,.studio-shell[data-color-mode=dark] .border-blue-300,.studio-shell[data-color-mode=dark] .border-blue-500{border-color:#60a5fa5c}.studio-shell[data-color-mode=dark] .border-green-200{border-color:#4ade8052}.studio-shell[data-color-mode=dark] .border-red-200,.studio-shell[data-color-mode=dark] .border-red-300{border-color:#f8717157}.studio-shell[data-color-mode=dark] .border-amber-200,.studio-shell[data-color-mode=dark] .border-violet-200{border-color:#c4b5fd4d}.studio-shell[data-color-mode=dark] .border-amber-200{border-color:#fbbf244d}.studio-shell[data-color-mode=dark] .text-blue-500,.studio-shell[data-color-mode=dark] .text-blue-600,.studio-shell[data-color-mode=dark] .text-blue-700,.studio-shell[data-color-mode=dark] .text-emerald-500,.studio-shell[data-color-mode=dark] .text-sky-500,.studio-shell[data-color-mode=dark] .text-indigo-500{color:#93c5fd}.studio-shell[data-color-mode=dark] .text-green-500,.studio-shell[data-color-mode=dark] .text-green-600,.studio-shell[data-color-mode=dark] .text-green-700{color:#86efac}.studio-shell[data-color-mode=dark] .text-red-400,.studio-shell[data-color-mode=dark] .text-red-500,.studio-shell[data-color-mode=dark] .text-red-600,.studio-shell[data-color-mode=dark] .text-red-700{color:#fca5a5}.studio-shell[data-color-mode=dark] .text-amber-500,.studio-shell[data-color-mode=dark] .text-amber-600,.studio-shell[data-color-mode=dark] .text-amber-700{color:#fcd34d}.studio-shell[data-color-mode=dark] .text-violet-400,.studio-shell[data-color-mode=dark] .text-violet-500,.studio-shell[data-color-mode=dark] .text-violet-600,.studio-shell[data-color-mode=dark] .text-violet-700{color:#c4b5fd}.studio-shell[data-color-mode=dark] .text-\[\#1D4ED8\],.studio-shell[data-color-mode=dark] .text-\[\#3B5CCC\]{color:#93c5fd}.studio-shell[data-color-mode=dark] .text-\[\#6D28D9\]{color:#c4b5fd}.studio-shell[data-color-mode=dark] .text-\[\#B45309\]{color:#fcd34d}.studio-shell[data-color-mode=dark] .text-\[\#1F2937\]{color:#e2e8f0}.studio-shell[data-color-mode=dark] .text-\[\#475569\],.studio-shell[data-color-mode=dark] .text-\[\#64748B\]{color:#94a3b8}.studio-shell[data-color-mode=dark] .text-\[\#E25B5B\]{color:#fca5a5}.studio-shell[data-color-mode=dark] .text-gray-900,.studio-shell[data-color-mode=dark] .text-gray-800{color:#e5e7eb}.studio-shell[data-color-mode=dark] .text-gray-700,.studio-shell[data-color-mode=dark] .text-gray-600{color:#cbd5e1}.studio-shell[data-color-mode=dark] .text-gray-500,.studio-shell[data-color-mode=dark] .text-gray-400{color:#94a3b8}.studio-shell[data-color-mode=dark] .text-gray-300{color:#64748b}.studio-shell[data-color-mode=dark] .text-pink-600{color:#f472b6}.studio-shell[data-color-mode=dark] .shadow-indigo-200{--tw-shadow-color: rgba(99, 102, 241, .15)}.studio-shell[data-color-mode=dark] .bg-\[\#18181B\]{background-color:#334155}.studio-shell[data-color-mode=dark] .hover\:bg-\[\#333\]:hover{background-color:#475569}.studio-shell[data-color-mode=dark] .hover\:bg-\[\#FAF8F4\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-\[\#F6F2EC\]:hover,.studio-shell[data-color-mode=dark] .hover\:bg-white:hover{background-color:#162236}.studio-brand-mark{background:var(--accent);box-shadow:none}.rail-button,.drawer-icon-button,.panel-icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e7e3dc;background:#fffffff5;color:#5b6470;transition:border-color .18s ease,background .18s ease,color .18s ease}.studio-shell[data-color-mode=dark] .rail-button,.studio-shell[data-color-mode=dark] .drawer-icon-button,.studio-shell[data-color-mode=dark] .panel-icon-button{border-color:#2a3a52;background:#0f172af0;color:#cbd5e1}.rail-button{width:40px;height:40px;border-radius:14px;box-shadow:none}.rail-button:hover,.drawer-icon-button:hover,.panel-icon-button:hover{border-color:#d9d4cc;background:#f7f6f3;color:#1f2328}.studio-shell[data-color-mode=dark] .rail-button:hover,.studio-shell[data-color-mode=dark] .drawer-icon-button:hover,.studio-shell[data-color-mode=dark] .panel-icon-button:hover{border-color:#3a4c68;background:#162236;color:#f8fafc}.rail-button.active,.drawer-icon-button.active{border-color:var(--accent-border);background:linear-gradient(180deg,var(--accent-soft-start) 0%,var(--accent-soft-end) 100%);color:var(--accent);box-shadow:none}.drawer-icon-button{width:38px;height:38px;border-radius:12px;box-shadow:none}.panel-icon-button{width:30px;height:30px;border-radius:10px}.ask-ai-surface{background:#fff;border-color:#e8e4dd;border-radius:20px;box-shadow:0 18px 40px #11182714}.ask-ai-trigger{background:#fff;border-radius:16px;box-shadow:0 12px 28px #11182714!important}.studio-shell[data-color-mode=dark] .ask-ai-surface,.studio-shell[data-color-mode=dark] .ask-ai-trigger{background:#0f172a}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 16px}.panel-eyebrow{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.16em;color:#a39a8f}.studio-shell[data-color-mode=dark] .panel-eyebrow,.studio-shell[data-color-mode=dark] .section-heading,.studio-shell[data-color-mode=dark] .field-label,.studio-shell[data-color-mode=dark] .toolbar-input-label{color:#7f90a8}.panel-title{margin-top:6px;font-size:20px;line-height:1.1;font-weight:700;color:#201f1d}.studio-shell[data-color-mode=dark] .panel-title{color:#f8fafc}.panel-block{padding:16px 18px}.section-heading,.field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#a39a8f}.workspace-card{border:1px solid #e7e3dc;border-radius:20px;background:#fffffff5;box-shadow:0 10px 24px #1f1c180a}.studio-shell[data-color-mode=dark] .workspace-card{border-color:#223047;background:#0f172af0;box-shadow:0 16px 34px #02061738}.workspace-editor-frame{border:1px solid #e7e3dc;border-radius:20px;background:#fffffffa;padding:4px}.studio-shell[data-color-mode=dark] .workspace-editor-frame{border-color:#223047;background:#0f172af0}.workspace-segmented-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #e7e3dc;border-radius:14px;background:#f2f1ee}.studio-shell[data-color-mode=dark] .workspace-segmented-control{border-color:#223047;background:#111b2d}.workspace-segmented-button{min-height:30px;padding:0 12px;border-radius:10px;border:0;background:transparent;color:#6b7280;font-size:12px;font-weight:700;transition:background .18s ease,color .18s ease}.workspace-segmented-button:hover{color:#374151}.workspace-segmented-button.active{background:#fff;color:#111827;box-shadow:0 1px 2px #0f172a0d}.studio-shell[data-color-mode=dark] .workspace-segmented-button{color:#94a3b8}.studio-shell[data-color-mode=dark] .workspace-segmented-button:hover{color:#e2e8f0}.studio-shell[data-color-mode=dark] .workspace-segmented-button.active{background:#162236;color:#f8fafc;box-shadow:none}.search-field{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid #e7e3dc;border-radius:12px;background:#fff}.studio-shell[data-color-mode=dark] .search-field{border-color:#2a3a52;background:#111b2d}.search-input{width:100%;background:transparent;border:0;outline:none;font-size:13px;color:#3c3834}.search-input::-moz-placeholder{color:#aea59a}.search-input::placeholder{color:#aea59a}.studio-shell[data-color-mode=dark] .search-input,.studio-shell[data-color-mode=dark] .studio-title-input{color:#e5e7eb}.studio-shell[data-color-mode=dark] .search-input::-moz-placeholder,.studio-shell[data-color-mode=dark] .studio-title-input::-moz-placeholder{color:#64748b}.studio-shell[data-color-mode=dark] .search-input::placeholder,.studio-shell[data-color-mode=dark] .studio-title-input::placeholder{color:#64748b}.panel-input,.panel-textarea{width:100%;border:1px solid #e7e3dc;border-radius:12px;background:#fff;color:#24211f;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.studio-shell[data-color-mode=dark] .panel-input,.studio-shell[data-color-mode=dark] .panel-textarea{border-color:#2a3a52;background:#0f172a;color:#e5e7eb}.panel-input{min-height:40px;padding:0 12px;font-size:13px}.panel-textarea{min-height:120px;padding:12px;font-size:12px;line-height:1.55;resize:vertical;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.panel-input:focus,.panel-textarea:focus{border-color:rgba(var(--accent-rgb),.32);box-shadow:0 0 0 3px var(--accent-focus);background:#fffdfc}.studio-shell[data-color-mode=dark] .panel-input:focus,.studio-shell[data-color-mode=dark] .panel-textarea:focus{background:#111b2d}.solid-action,.ghost-action{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:12px;font-size:12px;font-weight:700;transition:border-color .18s ease,background .18s ease,color .18s ease}.solid-action{border:1px solid rgba(var(--accent-rgb),.16);background:var(--accent);color:#fff;box-shadow:none}.solid-action:hover{background:var(--accent-strong)}.ghost-action{border:1px solid #e7e3dc;background:#fff;color:#4f5562}.studio-shell[data-color-mode=dark] .ghost-action{border-color:#2a3a52;background:#0f172a;color:#dbe4f0}.ghost-action:hover{background:#f7f6f3;border-color:#d9d4cc}.studio-shell[data-color-mode=dark] .ghost-action:hover{background:#162236;border-color:#3a4c68}.studio-editor-header{position:relative;z-index:120;overflow:visible;min-height:0;flex-shrink:0;display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;padding:16px 20px 14px;border-bottom:1px solid #e8e4dd;background:#fbfaf8f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.studio-shell[data-color-mode=dark] .studio-editor-header{border-bottom-color:#223047;background:#0d1422f5}.app-auth-anchor{position:fixed;top:12px;right:16px;z-index:320;display:flex;justify-content:flex-end;max-width:min(320px,calc(100vw - 20px));pointer-events:none}.app-auth-anchor>*{pointer-events:auto}.workspace-page-header,.studio-editor-header{padding-right:calc(24px + min(320px,100vw - 20px))}.workspace-page-header{background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.studio-shell[data-color-mode=dark] .workspace-page-header{border-bottom-color:#223047;background:#0d1422f5}.studio-editor-toolbar{width:100%;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width: 1180px){.workspace-page-header,.studio-editor-header{padding-right:calc(24px + min(320px,100vw - 20px))}.studio-title-bar{order:3;flex-basis:100%}}.studio-title-bar{min-width:0;flex:1 1 420px;max-width:100%;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 6px 0 12px;border:1px solid #e8e4dd;border-radius:12px;background:#fff;box-shadow:none}.studio-shell[data-color-mode=dark] .studio-title-bar{border-color:#2a3a52;background:#0f172a;box-shadow:none}.studio-title-group{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:10px}.studio-title-input{min-width:0;width:100%;background:transparent;border:0;outline:none;font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#1f2937}.studio-title-input::-moz-placeholder{color:#9e958a}.studio-title-input::placeholder{color:#9e958a}.studio-header-actions{display:flex;align-items:center;gap:6px;padding-left:10px;margin-left:6px;border-left:1px solid #ece8e2}.studio-shell[data-color-mode=dark] .studio-header-actions{border-left-color:#223047}.header-toolbar-action{width:30px;height:30px;border-radius:10px;padding:0;flex-shrink:0}.header-save-action,.header-export-action{border-color:transparent;background:transparent;color:#6b7280}.header-save-action{border-color:var(--accent-border);background:rgba(var(--accent-rgb),.06);color:var(--accent-text)}.header-save-action:hover,.header-export-action:hover{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.28)}.header-run-action{border-color:transparent;background:var(--accent);color:#fff}.header-run-action:hover{filter:brightness(.98)}.studio-view-switch{display:inline-flex;align-items:center;padding:4px;border:1px solid #e8e4dd;border-radius:12px;background:#fff}.studio-shell[data-color-mode=dark] .studio-view-switch{border-color:#2a3a52;background:#0f172a}.studio-view-switch-button{min-height:30px;padding:0 12px;border-radius:10px;border:0;background:transparent;font-size:12px;font-weight:700;color:#6b7280;transition:background .18s ease,color .18s ease}.studio-view-switch-button.active{background:#f3f4f6;color:#111827}.studio-shell[data-color-mode=dark] .studio-view-switch-button{color:#94a3b8}.studio-shell[data-color-mode=dark] .studio-view-switch-button.active{background:#162236;color:#f8fafc}.workflow-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.catalog-sidebar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.catalog-save-action{flex-shrink:0;min-width:88px;justify-content:center}.header-help-button{width:20px;height:20px;border-radius:999px;border:0;background:transparent;color:#9ca3af}.header-help-button:hover{background:#94a3b81a;color:#6b7280}.studio-shell[data-color-mode=dark] .header-help-button,.studio-shell[data-color-mode=dark] .info-popover-button{border-color:transparent;background:transparent;color:#cbd5e1}.header-help-card{width:300px}.run-prompt-textarea{min-height:168px;background:#fbfaf8}.studio-shell[data-color-mode=dark] .run-prompt-textarea{background:#111b2d}.header-auth-chip,.header-auth-guest{display:inline-flex;align-items:center;gap:10px;min-height:48px;max-width:320px;padding:6px 8px 6px 10px;border:1px solid #e8e4dd;border-radius:16px;background:#fffffff5;box-shadow:none}.studio-shell[data-color-mode=dark] .header-auth-chip,.studio-shell[data-color-mode=dark] .header-auth-guest{border-color:#2a3a52;background:#0f172af5;box-shadow:none}.header-auth-avatar,.header-auth-avatar-image{width:32px;height:32px;flex-shrink:0;border-radius:999px}.header-auth-avatar{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#334155);color:#f8fafc;font-size:12px;font-weight:700;letter-spacing:.08em}.header-auth-avatar-image{-o-object-fit:cover;object-fit:cover;border:1px solid rgba(148,163,184,.35)}.header-auth-copy,.header-auth-guest-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.header-auth-label{font-size:13px;font-weight:700;color:#1f2937;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-auth-meta{font-size:11px;line-height:1.3;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-shell[data-color-mode=dark] .header-auth-label{color:#e2e8f0}.studio-shell[data-color-mode=dark] .header-auth-meta{color:#94a3b8}.header-auth-link,.header-auth-logout{flex-shrink:0}.chip-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid #e3dfd8;background:#fff;color:#6d655d;font-size:11px;font-weight:700;transition:all .16s ease}.studio-shell[data-color-mode=dark] .chip-button{border-color:#2a3a52;background:#0f172a;color:#cbd5e1}.chip-button:hover{background:#fff8f2;color:#3e3a35}.studio-shell[data-color-mode=dark] .chip-button:hover{background:#162236;color:#f8fafc}.chip-button-active{border-color:var(--accent-border);background:var(--accent-soft-end);color:var(--accent-text)}.accent-inline-link{color:var(--accent-text)}.accent-inline-link:hover{color:var(--accent-strong)}.toolbar-input{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.toolbar-input:focus{border-color:rgba(var(--accent-rgb),.35);box-shadow:0 0 0 4px var(--accent-focus);background:#fffdfc}.toolbar-input-group{display:flex;flex-direction:column;gap:6px}.toolbar-input-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a39a8f}.info-popover{position:relative;display:inline-flex;z-index:140}.info-popover-button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #e7e3dc;background:#fffffff5;color:#8f98a4;transition:all .18s ease}.info-popover-button:hover,.info-popover-button.active{border-color:var(--accent-border);background:var(--accent-soft-end);color:var(--accent-text)}.info-popover-button.header-help-button{width:20px;height:20px;border:0;background:transparent;color:#9ca3af}.info-popover-button.header-help-button:hover,.info-popover-button.header-help-button.active{background:#94a3b81a;color:#6b7280}.info-popover-card{position:absolute;top:calc(100% + 10px);z-index:160;width:320px;border:1px solid #e8e4dd;border-radius:16px;background:#fffffffa;box-shadow:0 18px 40px #11182714;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:14px;font-size:13px;line-height:1.55;letter-spacing:normal;text-transform:none;color:#3c3834}.studio-shell[data-color-mode=dark] .info-popover-card,.studio-shell[data-color-mode=dark] .modal-shell,.studio-shell[data-color-mode=dark] .right-drawer,.studio-shell[data-color-mode=dark] .palette-drawer{border-color:#2a3a52;background:#0a111ef5;box-shadow:0 18px 40px #0206173d;color:#dbe4f0}.studio-shell[data-color-mode=dark] .info-popover-button.header-help-button{color:#94a3b8}.studio-shell[data-color-mode=dark] .info-popover-button.header-help-button:hover,.studio-shell[data-color-mode=dark] .info-popover-button.header-help-button.active{background:#94a3b81f;color:#e5e7eb}.info-popover-title{font-size:13px;font-weight:700;color:#1f2937}.studio-shell[data-color-mode=dark] .info-popover-title{color:#f8fafc}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:#18161352;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-shell{width:min(680px,100%);max-height:min(86vh,880px);display:flex;flex-direction:column;border:1px solid #e6e1d9;border-radius:28px;background:#fffffffa;box-shadow:0 32px 80px #1118272e}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #f1ece5}.studio-shell[data-color-mode=dark] .modal-header,.studio-shell[data-color-mode=dark] .modal-footer,.studio-shell[data-color-mode=dark] .palette-drawer-header,.studio-shell[data-color-mode=dark] .palette-drawer-search,.studio-shell[data-color-mode=dark] .panel-header{border-color:#223047}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:20px 22px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px 20px;border-top:1px solid #f1ece5}.settings-sidebar{display:flex;flex-direction:column;min-height:0;padding:28px 20px;border-right:1px solid #ece8e2;background:linear-gradient(180deg,#faf8f4f0,#f5f2edf0)}.studio-shell[data-color-mode=dark] .settings-sidebar{border-right-color:#223047;background:linear-gradient(180deg,#0a111efa,#0c1424fa)}.settings-nav-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;border:1px solid transparent;transition:all .18s ease;text-align:left}.settings-nav-button:hover{background:#ffffffb8;border-color:#e6e0d7}.studio-shell[data-color-mode=dark] .settings-nav-button:hover{background:#162236e6;border-color:#2a3a52}.settings-nav-button.active{border-color:var(--accent-border);background:linear-gradient(180deg,var(--accent-soft-start) 0%,var(--accent-soft-end) 100%);box-shadow:0 16px 34px var(--accent-shadow)}.settings-nav-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#fff;color:var(--accent-text);box-shadow:0 10px 24px #1118270f;flex-shrink:0}.settings-mode-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid #e5e1da;background:#fff;color:var(--accent-text)}.studio-shell[data-color-mode=dark] .settings-nav-icon,.studio-shell[data-color-mode=dark] .settings-mode-icon{border-color:#33465f;background:#111b2d;color:#dbeafe}.description-editor{min-height:168px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.65}.settings-section-card{border:1px solid #ede8df;border-radius:28px;background:linear-gradient(180deg,#fffffff5,#faf8f4eb);box-shadow:0 20px 44px #1118270f;padding:24px}.studio-shell[data-color-mode=dark] .settings-section-card,.studio-shell[data-color-mode=dark] .appearance-card,.studio-shell[data-color-mode=dark] .empty-card{border-color:#2a3a52;background:linear-gradient(180deg,#0f172af5,#111b2df5);box-shadow:0 18px 38px #0206173d}.settings-status-card{border:1px solid #e6e1d8;border-radius:22px;background:#fff;padding:16px 18px}.studio-shell[data-color-mode=dark] .settings-status-card{border-color:#2a3a52;background:#0f172aeb}.settings-status-card.success{border-color:#22c55e2e;background:#f0fdf4eb}.settings-status-card.error{border-color:#ef44442e;background:#fef2f2eb}.settings-status-card.testing{border-color:rgba(var(--accent-rgb),.18);background:#eff6ffeb}.settings-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.settings-status-pill.success{background:#22c55e1f;color:#15803d}.settings-status-pill.error{background:#ef44441f;color:#dc2626}.settings-status-pill.testing{background:rgba(var(--accent-rgb),.12);color:var(--accent-text)}.appearance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.appearance-card{text-align:left;border:1px solid #e5e1da;border-radius:18px;background:#fff;padding:12px;transition:all .18s ease}.appearance-card:hover{background:#fffaf6}.studio-shell[data-color-mode=dark] .appearance-card:hover{background:#162236}.appearance-card.active{border-color:var(--accent-border);background:var(--accent-soft-end);box-shadow:0 12px 24px var(--accent-focus)}.appearance-swatches{display:flex;align-items:center;gap:6px;margin-bottom:10px}.appearance-swatch{width:18px;height:18px;border-radius:999px;border:1px solid rgba(17,24,39,.06);box-shadow:inset 0 1px #ffffffb3}.empty-card{border-radius:18px;border:1px dashed #e0dbd2;background:#faf8f4;padding:14px 16px;text-align:center;font-size:12px;color:#aaa196}.studio-shell[data-color-mode=dark] .empty-card{color:#7f90a8}.studio-canvas{background:#f7f6f3}.studio-shell[data-color-mode=dark] .studio-canvas{background:#0b1220}.canvas-overlay-stack{position:absolute;top:16px;left:16px;z-index:20;display:flex;flex-direction:column;gap:8px}.canvas-meta-card{min-width:180px;padding:10px 12px;border:1px solid #e8e4dd;border-radius:14px;background:#ffffffeb;box-shadow:0 10px 26px #1118270a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-meta-card-wide{min-width:240px}.canvas-meta-label{font-size:11px;color:#8a8479}.canvas-meta-value{margin-top:2px;font-size:12px;font-weight:700;color:#1f2937}.canvas-meta-select{width:100%;margin-top:4px;border:0;background:transparent;outline:none;font-size:12px;font-weight:700;color:#1f2937}.canvas-overlay-tools{position:absolute;top:16px;right:16px;z-index:20;display:flex;align-items:center;gap:8px}.studio-shell[data-color-mode=dark] .canvas-meta-card{border-color:#2a3a52;background:#0f172ae6;box-shadow:none}.studio-shell[data-color-mode=dark] .canvas-meta-label{color:#94a3b8}.studio-shell[data-color-mode=dark] .canvas-meta-value,.studio-shell[data-color-mode=dark] .canvas-meta-select{color:#e5e7eb}.right-drawer{position:absolute;top:16px;right:16px;bottom:16px;width:380px;display:flex;flex-direction:column;border:1px solid #e8e4dd;border-radius:20px;background:#fffffffa;box-shadow:0 18px 40px #11182714;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(calc(100% + 16px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease;z-index:28}.right-drawer.open{transform:translate(0);opacity:1;pointer-events:auto}.palette-drawer{background:#fff;border-color:#e8e4dd;border-radius:20px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 18px 40px #11182714}.studio-shell[data-color-mode=dark] .palette-drawer-header,.studio-shell[data-color-mode=dark] .palette-drawer-search,.studio-shell[data-color-mode=dark] .palette-drawer-body{background:#0f172a}.palette-drawer-header{background:#fff}.palette-drawer-search{background:#fbfaf8}.palette-drawer-body{background:#fff}.execution-logs{height:264px;flex-shrink:0;border-top:1px solid #e8e4dd;background:#fffffffa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:height .2s ease}.studio-shell[data-color-mode=dark] .execution-logs{border-top-color:#223047;background:#0a111ef5}.execution-logs-popout-shell{background:#f2f1ee;width:100vw;min-width:100vw;max-width:100vw;height:100vh;min-height:100vh}.execution-logs.execution-logs-fullscreen{width:100%;min-width:0;max-width:100%;flex:1 1 auto;height:100vh;min-height:100vh;border-top:0;overflow:hidden}.execution-logs.execution-logs-fullscreen .execution-logs-header{height:64px;padding:0 20px}.execution-logs.execution-logs-fullscreen .execution-logs-header:before{display:none}.execution-logs.execution-logs-fullscreen .execution-logs-body{width:100%;min-width:0;max-width:100%;height:calc(100vh - 64px)}.execution-logs.collapsed{height:56px}.execution-logs-header{position:relative;height:56px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-bottom:1px solid #efe9e1;background:transparent}.execution-logs-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:64px;height:5px;border-radius:999px;background:#94a3b859}.execution-logs-header-actions{display:flex;align-items:center;gap:10px}.execution-logs-collapse-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e8e4dd;border-radius:999px;background:#fff;color:#4b5563;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;transition:border-color .16s ease,background .16s ease,color .16s ease}.execution-logs-collapse-action:hover,.execution-logs-copy-action:hover{border-color:rgba(var(--accent-rgb),.28);background:#fff7f3;color:#1f2937}.studio-shell[data-color-mode=dark] .execution-logs-collapse-action{border-color:#2a3a52;background:#0f172a;color:#cbd5e1}.studio-shell[data-color-mode=dark] .execution-logs-collapse-action:hover,.studio-shell[data-color-mode=dark] .execution-logs-copy-action:hover{border-color:rgba(var(--accent-rgb),.4);background:#162236;color:#f8fafc}.execution-logs-collapse-action:focus-visible,.execution-logs-copy-action:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(var(--accent-rgb),.14)}.execution-logs-collapse-icon{transition:transform .16s ease}.execution-logs-collapse-icon.collapsed{transform:rotate(180deg)}.execution-logs-copy-action.active,.execution-logs-window-action.active{border-color:rgba(var(--accent-rgb),.28);background:#fff4f1;color:var(--accent-text)}.studio-shell[data-color-mode=dark] .execution-logs-copy-action.active,.studio-shell[data-color-mode=dark] .execution-logs-window-action.active{border-color:rgba(var(--accent-rgb),.4);background:#172235}.execution-logs-body{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;width:100%;min-width:0;height:calc(100% - 56px);min-height:0}.execution-runs-list{min-width:0;min-height:0;overflow-y:auto;border-right:1px solid #f1ece5;background:#fbfaf8;padding:14px;display:flex;flex-direction:column;gap:10px}.studio-shell[data-color-mode=dark] .execution-runs-list{border-right-color:#223047;background:#0f172a}.execution-log-stream{width:100%;min-width:0;max-width:100%;min-height:0;padding:14px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;background:#fff;overflow:hidden}.studio-shell[data-color-mode=dark] .execution-log-stream{background:#111b2d}.execution-log-list{width:100%;min-width:0;min-height:0;overflow-y:auto;overflow-x:auto;display:flex;flex-direction:column;gap:10px}.execution-run-card,.execution-log-card{width:100%;max-width:100%;text-align:left;border:1px solid #e8e4dd;border-radius:14px;background:#fff;padding:12px 14px;transition:all .16s ease}.execution-log-card{cursor:copy}.studio-shell[data-color-mode=dark] .execution-run-card,.studio-shell[data-color-mode=dark] .execution-log-card,.studio-shell[data-color-mode=dark] .workflow-node{border-color:#2a3a52;background:#0f172a;box-shadow:none}.execution-run-card:hover,.execution-log-card:hover{background:#fffaf6}.execution-run-card.active,.execution-log-card.active{border-color:#f0483e3d;background:#fff4f1}.execution-log-card.tone-pending{border-color:#2f6fec38;background:linear-gradient(180deg,#f4f8fff5,#eaf2ffeb)}.studio-shell[data-color-mode=dark] .execution-log-card.tone-pending{border-color:rgba(var(--accent-rgb),.3);background:linear-gradient(180deg,#121f36fa,#101c31fa)}.execution-log-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.execution-log-card-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.execution-log-card-copied{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 8px;border-radius:999px;background:rgba(var(--accent-rgb),.12);color:var(--accent-text);font-size:10px;font-weight:700;letter-spacing:.02em}.execution-log-card-preview{margin-top:8px;color:#4b5563;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.studio-shell[data-color-mode=dark] .execution-log-card-preview{color:#cbd5e1}.execution-action-panel{border:1px solid #e8e4dd;border-radius:16px;background:#fff;box-shadow:none;padding:16px;display:flex;flex-direction:column;gap:14px}.studio-shell[data-color-mode=dark] .execution-action-panel{border-color:#2a3a52;background:#0f172a;box-shadow:none}.execution-action-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.18);background:var(--accent-soft-start);color:var(--accent-text);font-size:11px;font-weight:700}.execution-action-intro{display:flex;flex-direction:column;gap:12px}.execution-action-subtitle{margin-top:6px;color:#6b7280;font-size:12px;line-height:1.5}.studio-shell[data-color-mode=dark] .execution-action-subtitle{color:#94a3b8}.execution-action-meta{display:flex;flex-wrap:wrap;gap:8px}.execution-action-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid #ece5db;background:#faf7f2;color:#5f5750;font-size:11px;font-weight:600}.studio-shell[data-color-mode=dark] .execution-action-chip{border-color:#2a3a52;background:#111b2d;color:#dbe4f0}.execution-action-block{display:flex;flex-direction:column;gap:8px}.execution-action-block-label{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.execution-action-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.execution-action-requirement{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.execution-action-requirement.required{background:#f0483e1a;color:#b42318}.execution-action-requirement.optional{background:#3b82f61a;color:#1d4ed8}.studio-shell[data-color-mode=dark] .execution-action-requirement.required{background:#f871712e;color:#fecaca}.studio-shell[data-color-mode=dark] .execution-action-requirement.optional{background:#60a5fa2e;color:#bfdbfe}.execution-action-helper{color:#6b7280;font-size:12px;line-height:1.5}.studio-shell[data-color-mode=dark] .execution-action-helper{color:#94a3b8}.execution-action-prompt{border:1px solid #ece5db;border-radius:18px;background:#ffffffc7;color:#4b5563;font-size:13px;line-height:1.6;padding:12px 14px;white-space:pre-wrap}.studio-shell[data-color-mode=dark] .execution-action-prompt{border-color:#2a3a52;background:#0f172ac2;color:#cbd5e1}.execution-action-textarea{min-height:110px}.execution-action-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.execution-danger-action{color:#b42318;border-color:#b4231824;background:#fff7f6}.execution-danger-action:hover{background:#ffefed;border-color:#b423183d}.studio-shell[data-color-mode=dark] .execution-danger-action{color:#fca5a5;border-color:#f871712e;background:#450a0a3d}.studio-shell[data-color-mode=dark] .execution-danger-action:hover{background:#450a0a5c;border-color:#f8717147}.react-flow__node{border-radius:10px!important}.react-flow__handle{width:10px;height:10px;border:2px solid #fff;border-radius:999px}.react-flow__handle-left{left:-5px}.react-flow__handle-right{right:-5px}.react-flow__edge-path{stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.react-flow__edge{z-index:4!important}.react-flow__attribution{display:none}.react-flow__controls{background:transparent!important;border:0!important;box-shadow:none!important;display:flex!important;flex-direction:row!important;gap:8px!important;margin:16px!important}.react-flow__controls-button{width:40px!important;height:40px!important;border:1px solid #e7e3dc!important;border-radius:12px!important;background:#fffffff5!important;color:#5b6470!important;fill:currentColor!important;box-shadow:none!important;border-bottom:1px solid #e7e3dc!important}.studio-shell[data-color-mode=dark] .react-flow__controls-button{border-color:#2a3a52!important;border-bottom-color:#2a3a52!important;background:#0f172af5!important;color:#dbe4f0!important;box-shadow:none!important}.react-flow__controls-button:hover{background:#f7f6f3!important;color:#1f2328!important}.studio-shell[data-color-mode=dark] .react-flow__controls-button:hover{background:#162236!important;color:#f8fafc!important}.react-flow__minimap{border:1px solid #e7e3dc!important;border-radius:16px!important;overflow:hidden!important;box-shadow:none!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.react-flow__minimap svg{background:transparent!important}.react-flow__minimap-mask{fill:#ffffffb3!important}.studio-shell[data-color-mode=dark] .react-flow__minimap{border-color:#2a3a52!important;box-shadow:none!important}.studio-shell[data-color-mode=dark] .react-flow__minimap-mask{fill:#0b1220b8!important}.workflow-node{background:#fff;border:1px solid #e3dfd8;border-radius:14px;box-shadow:0 8px 22px #1118270a;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;overflow:hidden;min-width:200px}.studio-shell[data-color-mode=dark] .workflow-node{background:#0f172a}.workflow-node-icon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.workflow-node-title{min-width:0;font-size:13px;font-weight:700;line-height:1.2;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-shell[data-color-mode=dark] .workflow-node-title{color:#e5e7eb}.workflow-node-subtitle{min-width:0;margin-top:2px;font-size:11px;line-height:1.3;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-node-status-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;background:#94a3b8;box-shadow:0 0 0 2px #94a3b81f}.workflow-node-status-dot.active{background:#2563eb;box-shadow:0 0 0 2px #3b82f624}.workflow-node-status-dot.waiting{background:#d97706;box-shadow:0 0 0 2px #f59e0b29}.workflow-node-status-dot.completed{background:#16a34a;box-shadow:0 0 0 2px #22c55e24}.workflow-node-status-dot.failed{background:#dc2626;box-shadow:0 0 0 2px #ef444424}.workflow-node.compact{border-radius:14px;box-shadow:0 6px 16px #1118270a}.workflow-node.compact:hover{transform:none;box-shadow:0 8px 18px #1118270f}.workflow-node-compact,.workflow-node-micro{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 12px}.workflow-node-compact-meta,.workflow-node-micro-meta{min-width:0;flex:1}.workflow-node.micro{border-radius:14px;box-shadow:0 4px 12px #1118270a}.workflow-node.micro:hover{transform:none;box-shadow:0 6px 14px #1118270d}.workflow-node-micro{min-height:42px;padding:8px 10px;gap:8px}.workflow-node-icon-micro{width:24px;height:24px;border-radius:8px}.workflow-node.micro .workflow-node-title{font-size:11px}.workflow-node.micro .react-flow__handle{width:8px;height:8px}.workflow-node.compact .react-flow__handle{width:9px;height:9px}.workflow-node:hover{border-color:#d2cdc4;box-shadow:0 10px 24px #1118270f;transform:none}.workflow-node.selected{border-color:rgba(var(--accent-rgb),.3);box-shadow:0 0 0 3px var(--accent-focus),0 10px 24px #1118270f}.workflow-node.execution-focus{border-color:#4f6ef75c;box-shadow:0 0 0 3px #4f6ef714,0 10px 24px #4f6ef714}.workflow-node.node-status-active{border-color:#3b82f657}.workflow-node.node-status-waiting{border-color:#f59e0b57}.workflow-node.node-status-completed{border-color:#22c55e57}.workflow-node.node-status-failed{border-color:#ef444457}.node-run-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.node-run-pill.active{background:#3b82f61a;color:#2563eb}.node-run-pill.waiting{background:#f59e0b1f;color:#b45309}.node-run-pill.completed{background:#22c55e1f;color:#15803d}.node-run-pill.failed{background:#ef44441f;color:#dc2626}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in-right{animation:slide-in-right .2s ease-out}.scope-chat-link{color:var(--accent-text);text-decoration:underline;text-decoration-color:rgba(var(--accent-rgb),.36);text-underline-offset:2px;word-break:break-all}.scope-chat-link:hover{color:var(--accent-strong);text-decoration-color:rgba(var(--accent-rgb),.62)}.scope-chat-link-user{color:#fff;text-decoration:underline;text-decoration-color:#fff9;text-underline-offset:2px;word-break:break-all}.scope-chat-link-user:hover{text-decoration-color:#ffffffe6}.scope-chat-thinking-toggle{color:#64748b}.scope-chat-thinking-toggle:hover{color:var(--accent-text)}.scope-chat-thinking-body{border-left:2px solid rgba(var(--accent-rgb),.22);color:#4b5563}.scope-chat-llm-bar{align-items:center;display:inline-flex;gap:10px;min-width:0;position:relative}.scope-chat-llm-trigger{align-items:center;border:1px solid rgba(var(--accent-rgb),.12);border-radius:14px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.12));box-shadow:0 6px 14px #0f172a08,0 1px #ffffffb3 inset;color:#475569;display:inline-flex;font-size:14px;font-weight:600;gap:10px;height:38px;max-width:240px;min-width:0;padding:0 14px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.scope-chat-llm-trigger:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.2);box-shadow:0 8px 18px #0f172a0d,0 1px #ffffffb3 inset}.scope-chat-llm-trigger:disabled{cursor:not-allowed;opacity:.65}.scope-chat-llm-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-chat-llm-chevron{color:#94a3b8}.scope-chat-llm-inline-route{color:#94a3b8;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-chat-llm-panel{border:1px solid rgba(var(--accent-rgb),.12);border-radius:18px;background:#fff;box-shadow:0 18px 42px #0f172a1a,0 1px #ffffffd1 inset;display:flex;flex-direction:column;opacity:1}.scope-chat-llm-reset{border:1px solid rgba(var(--accent-rgb),.12);border-radius:999px;background:rgba(var(--accent-rgb),.06);color:var(--accent-text);font-size:11px;font-weight:600;height:28px;padding:0 10px;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.scope-chat-llm-reset:hover:not(:disabled){background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.2)}.scope-chat-llm-reset:disabled{color:#94a3b8;cursor:not-allowed;opacity:.65}.scope-chat-llm-panel-header{align-items:center;display:flex;justify-content:space-between;padding:12px 14px 8px}.scope-chat-llm-panel-title{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.scope-chat-llm-search{align-items:center;border-top:1px solid rgba(var(--accent-rgb),.08);border-bottom:1px solid rgba(var(--accent-rgb),.08);display:flex;gap:10px;padding:12px 14px}.scope-chat-llm-search-icon{color:#94a3b8;flex-shrink:0}.scope-chat-llm-search-input{background:transparent;border:none;color:#1f2937;font-size:14px;font-weight:500;outline:none;padding:0;width:100%}.scope-chat-llm-search-input::-moz-placeholder{color:#94a3b8}.scope-chat-llm-search-input::placeholder{color:#94a3b8}.scope-chat-llm-route-row{align-items:center;display:flex;gap:12px;padding:12px 14px 10px}.scope-chat-llm-route-label{color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scope-chat-llm-route-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(var(--accent-rgb),.12);border-radius:12px;background:rgba(var(--accent-rgb),.05);color:#334155;flex:1 1 auto;font-size:13px;font-weight:600;height:36px;min-width:0;outline:none;padding:0 36px 0 12px}.scope-chat-llm-options{flex:1 1 auto;min-height:0;overflow:auto;padding:0 8px 8px}.scope-chat-llm-group{padding:6px 0 2px}.scope-chat-llm-group-label{color:#64748b;font-size:12px;font-weight:700;padding:0 10px 8px}.scope-chat-llm-option{align-items:center;border:1px solid transparent;border-radius:12px;color:#1f2937;display:flex;justify-content:space-between;min-height:44px;padding:0 12px;text-align:left;transition:background-color .2s ease,border-color .2s ease,color .2s ease;width:100%}.scope-chat-llm-option:hover{background:rgba(var(--accent-rgb),.08)}.scope-chat-llm-option.is-active{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.14)}.scope-chat-llm-option--manual{margin-bottom:6px}.scope-chat-llm-option-badge{border-radius:999px;background:rgba(var(--accent-rgb),.08);color:var(--accent-text);font-size:11px;font-weight:700;margin-left:12px;padding:4px 8px}.scope-chat-llm-option-main{align-items:center;display:inline-flex;gap:10px;min-width:0}.scope-chat-llm-option-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-chat-llm-empty{color:#94a3b8;font-size:13px;padding:12px 10px 14px}.scope-chat-user-bubble{border:1px solid rgba(var(--accent-rgb),.18);background:linear-gradient(180deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);box-shadow:0 14px 28px var(--accent-shadow-strong)}.scope-chat-action-button{color:#64748b;flex-shrink:0}.scope-chat-action-button:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent-text)}.scope-chat-action-button--active{background:rgba(var(--accent-rgb),.12);color:var(--accent-strong)}.scope-chat-action-button--emphasis{background:linear-gradient(180deg,var(--accent-soft-start) 0%,var(--accent-soft-end) 100%);color:var(--accent-text);box-shadow:0 6px 16px var(--accent-shadow)}.scope-chat-menu{border:1px solid var(--accent-border);background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,var(--accent-soft-end) 100%);box-shadow:0 18px 40px #94a3b82e,0 10px 24px var(--accent-shadow)}.scope-chat-menu-divider{border-top:1px solid rgba(var(--accent-rgb),.16)}.scope-chat-menu-item{color:#1f2937;font-size:14px}.scope-chat-menu-item:hover{background:rgba(var(--accent-rgb),.08)}.scope-chat-menu-item--danger{color:#e25b5b}.scope-chat-menu-item--danger:hover{background:#e25b5b14}.scope-chat-menu-item-icon{color:var(--accent-text)}.scope-chat-menu-item-icon-danger{color:#e25b5b}.studio-shell[data-color-mode=dark] .scope-chat-llm-bar{position:relative}.studio-shell[data-color-mode=dark] .scope-chat-llm-trigger{border-color:rgba(var(--accent-rgb),.24);background:linear-gradient(180deg,#0f172aeb,rgba(var(--accent-rgb),.12));box-shadow:0 12px 26px #02061733,0 1px #ffffff08 inset;color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-llm-trigger:hover{border-color:rgba(var(--accent-rgb),.32)}.studio-shell[data-color-mode=dark] .scope-chat-llm-chevron{color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-llm-inline-route{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-panel{border-color:rgba(var(--accent-rgb),.24);background:#0f172a;box-shadow:0 16px 30px #0206173d,0 1px #ffffff08 inset;opacity:1}.studio-shell[data-color-mode=dark] .scope-chat-llm-panel-title,.studio-shell[data-color-mode=dark] .scope-chat-llm-group-label{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-reset{border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.16);color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-llm-reset:hover:not(:disabled){background:rgba(var(--accent-rgb),.24);border-color:rgba(var(--accent-rgb),.34)}.studio-shell[data-color-mode=dark] .scope-chat-llm-reset:disabled{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-search{border-top-color:rgba(var(--accent-rgb),.16);border-bottom-color:rgba(var(--accent-rgb),.16)}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-icon{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-input{color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-input::-moz-placeholder{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-search-input::placeholder{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-route-label{color:#94a3b8}.studio-shell[data-color-mode=dark] .scope-chat-llm-route-select{border-color:rgba(var(--accent-rgb),.22);background:rgba(var(--accent-rgb),.12);color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-llm-option{color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-llm-option:hover{background:rgba(var(--accent-rgb),.14)}.studio-shell[data-color-mode=dark] .scope-chat-llm-option.is-active{background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.26)}.studio-shell[data-color-mode=dark] .scope-chat-llm-option-badge,.studio-shell[data-color-mode=dark] .scope-chat-llm-empty,.studio-shell[data-color-mode=dark] .scope-chat-thinking-toggle{color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-thinking-toggle:hover{color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-thinking-body{border-left-color:rgba(var(--accent-rgb),.36);color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-action-button{color:#cbd5e1}.studio-shell[data-color-mode=dark] .scope-chat-action-button:hover{background:rgba(var(--accent-rgb),.2);color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-action-button--active{background:rgba(var(--accent-rgb),.24);color:#f8fafc}.studio-shell[data-color-mode=dark] .scope-chat-action-button--emphasis{background:linear-gradient(180deg,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.3));color:#f8fafc;box-shadow:0 6px 16px var(--accent-shadow-strong)}.studio-shell[data-color-mode=dark] .scope-chat-menu{border-color:rgba(var(--accent-rgb),.34);background:linear-gradient(180deg,#0f172af5,#111b2df5);box-shadow:0 18px 40px #0206175c}.studio-shell[data-color-mode=dark] .scope-chat-menu-divider{border-top-color:rgba(var(--accent-rgb),.22)}.studio-shell[data-color-mode=dark] .scope-chat-menu-item{color:#e2e8f0}.studio-shell[data-color-mode=dark] .scope-chat-menu-item:hover{background:rgba(var(--accent-rgb),.16)}.studio-shell[data-color-mode=dark] .scope-chat-menu-item-icon{color:#e2e8f0}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.last\:border-b-0:last-child{border-bottom-width:0px}.focus-within\:border-transparent:focus-within{border-color:transparent}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-blue-400:focus-within{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#333\]:hover{--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#F7F5F2\]:hover{--tw-bg-opacity: 1;background-color:rgb(247 245 242 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#F9F6F0\]:hover{--tw-bg-opacity: 1;background-color:rgb(249 246 240 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FAF8F4\]:hover{--tw-bg-opacity: 1;background-color:rgb(250 248 244 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FAFAF9\]:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 249 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FBFAF7\]:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 247 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FFF0EB\]:hover{--tw-bg-opacity: 1;background-color:rgb(255 240 235 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FFF4DE\]:hover{--tw-bg-opacity: 1;background-color:rgb(255 244 222 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#FFF9F4\]:hover{--tw-bg-opacity: 1;background-color:rgb(255 249 244 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-5{padding:1.25rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_320px\]{grid-template-columns:minmax(0,1.1fr) 320px}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.lg\:items-end{align-items:flex-end}}@media (min-width: 1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[420px_minmax\(0\,1fr\)\]{grid-template-columns:420px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}} diff --git a/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.js b/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.js index e630e2a23..308264b54 100644 --- a/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.js +++ b/demos/Aevatar.Demos.Workflow.Web/wwwroot/app.js @@ -1,4 +1,4 @@ -var DLe=Object.defineProperty;var TLe=(n,e,t)=>e in n?DLe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var bs=(n,e,t)=>TLe(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();function Que(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Jue={exports:{}},d3={},ehe={exports:{}},qi={};/** +var ike=Object.defineProperty;var nke=(n,e,t)=>e in n?ike(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var ms=(n,e,t)=>nke(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function t(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(s){if(s.ep)return;s.ep=!0;const r=t(s);fetch(s.href,r)}})();function Ahe(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Phe={exports:{}},AF={},Ohe={exports:{}},Hi={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var DLe=Object.defineProperty;var TLe=(n,e,t)=>e in n?DLe(n,e,{enumerable:!0,con * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var WD=Symbol.for("react.element"),RLe=Symbol.for("react.portal"),MLe=Symbol.for("react.fragment"),ALe=Symbol.for("react.strict_mode"),PLe=Symbol.for("react.profiler"),OLe=Symbol.for("react.provider"),FLe=Symbol.for("react.context"),BLe=Symbol.for("react.forward_ref"),WLe=Symbol.for("react.suspense"),HLe=Symbol.for("react.memo"),VLe=Symbol.for("react.lazy"),Hee=Symbol.iterator;function jLe(n){return n===null||typeof n!="object"?null:(n=Hee&&n[Hee]||n["@@iterator"],typeof n=="function"?n:null)}var the={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ihe=Object.assign,nhe={};function Vx(n,e,t){this.props=n,this.context=e,this.refs=nhe,this.updater=t||the}Vx.prototype.isReactComponent={};Vx.prototype.setState=function(n,e){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,e,"setState")};Vx.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function she(){}she.prototype=Vx.prototype;function BG(n,e,t){this.props=n,this.context=e,this.refs=nhe,this.updater=t||the}var WG=BG.prototype=new she;WG.constructor=BG;ihe(WG,Vx.prototype);WG.isPureReactComponent=!0;var Vee=Array.isArray,ohe=Object.prototype.hasOwnProperty,HG={current:null},rhe={key:!0,ref:!0,__self:!0,__source:!0};function ahe(n,e,t){var i,s={},o=null,r=null;if(e!=null)for(i in e.ref!==void 0&&(r=e.ref),e.key!==void 0&&(o=""+e.key),e)ohe.call(e,i)&&!rhe.hasOwnProperty(i)&&(s[i]=e[i]);var a=arguments.length-2;if(a===1)s.children=t;else if(1e in n?DLe(n,e,{enumerable:!0,con * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var KLe=R,GLe=Symbol.for("react.element"),YLe=Symbol.for("react.fragment"),ZLe=Object.prototype.hasOwnProperty,XLe=KLe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,QLe={key:!0,ref:!0,__self:!0,__source:!0};function che(n,e,t){var i,s={},o=null,r=null;t!==void 0&&(o=""+t),e.key!==void 0&&(o=""+e.key),e.ref!==void 0&&(r=e.ref);for(i in e)ZLe.call(e,i)&&!QLe.hasOwnProperty(i)&&(s[i]=e[i]);if(n&&n.defaultProps)for(i in e=n.defaultProps,e)s[i]===void 0&&(s[i]=e[i]);return{$$typeof:GLe,type:n,key:o,ref:r,props:s,_owner:XLe.current}}d3.Fragment=YLe;d3.jsx=che;d3.jsxs=che;Jue.exports=d3;var m=Jue.exports,rW={},dhe={exports:{}},Zc={},uhe={exports:{}},hhe={};/** + */var vke=R,wke=Symbol.for("react.element"),Cke=Symbol.for("react.fragment"),yke=Object.prototype.hasOwnProperty,xke=vke.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ske={key:!0,ref:!0,__self:!0,__source:!0};function Uhe(n,e,t){var i,s={},r=null,o=null;t!==void 0&&(r=""+t),e.key!==void 0&&(r=""+e.key),e.ref!==void 0&&(o=e.ref);for(i in e)yke.call(e,i)&&!Ske.hasOwnProperty(i)&&(s[i]=e[i]);if(n&&n.defaultProps)for(i in e=n.defaultProps,e)s[i]===void 0&&(s[i]=e[i]);return{$$typeof:wke,type:n,key:r,ref:o,props:s,_owner:xke.current}}AF.Fragment=Cke;AF.jsx=Uhe;AF.jsxs=Uhe;Phe.exports=AF;var p=Phe.exports,MW={},qhe={exports:{}},td={},Khe={exports:{}},Ghe={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var DLe=Object.defineProperty;var TLe=(n,e,t)=>e in n?DLe(n,e,{enumerable:!0,con * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(n){function e(W,F){var q=W.length;W.push(F);e:for(;0>>1,Q=W[X];if(0>>1;Xs(ye,q))$es(Ze,ye)?(W[X]=Ze,W[$e]=q,X=$e):(W[X]=ye,W[ge]=q,X=ge);else if($es(Ze,q))W[X]=Ze,W[$e]=q,X=$e;else break e}}return F}function s(W,F){var q=W.sortIndex-F.sortIndex;return q!==0?q:W.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;n.unstable_now=function(){return o.now()}}else{var r=Date,a=r.now();n.unstable_now=function(){return r.now()-a}}var l=[],c=[],d=1,u=null,h=3,f=!1,g=!1,p=!1,_=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function C(W){for(var F=t(c);F!==null;){if(F.callback===null)i(c);else if(F.startTime<=W)i(c),F.sortIndex=F.expirationTime,e(l,F);else break;F=t(c)}}function y(W){if(p=!1,C(W),!g)if(t(l)!==null)g=!0,z(S);else{var F=t(c);F!==null&&U(y,F.startTime-W)}}function S(W,F){g=!1,p&&(p=!1,b(k),k=-1),f=!0;var q=h;try{for(C(F),u=t(l);u!==null&&(!(u.expirationTime>F)||W&&!M());){var X=u.callback;if(typeof X=="function"){u.callback=null,h=u.priorityLevel;var Q=X(u.expirationTime<=F);F=n.unstable_now(),typeof Q=="function"?u.callback=Q:u===t(l)&&i(l),C(F)}else i(l);u=t(l)}if(u!==null)var oe=!0;else{var ge=t(c);ge!==null&&U(y,ge.startTime-F),oe=!1}return oe}finally{u=null,h=q,f=!1}}var x=!1,L=null,k=-1,N=5,T=-1;function M(){return!(n.unstable_now()-TW||125X?(W.sortIndex=q,e(c,W),t(l)===null&&W===t(c)&&(p?(b(k),k=-1):p=!0,U(y,q-X))):(W.sortIndex=Q,e(l,W),g||f||(g=!0,z(S))),W},n.unstable_shouldYield=M,n.unstable_wrapCallback=function(W){var F=h;return function(){var q=h;h=F;try{return W.apply(this,arguments)}finally{h=q}}}})(hhe);uhe.exports=hhe;var JLe=uhe.exports;/** + */(function(n){function e(W,F){var q=W.length;W.push(F);e:for(;0>>1,J=W[Q];if(0>>1;Qs(ke,q))$es(Xe,ke)?(W[Q]=Xe,W[$e]=q,Q=$e):(W[Q]=ke,W[pe]=q,Q=pe);else if($es(Xe,q))W[Q]=Xe,W[$e]=q,Q=$e;else break e}}return F}function s(W,F){var q=W.sortIndex-F.sortIndex;return q!==0?q:W.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;n.unstable_now=function(){return r.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var l=[],c=[],d=1,u=null,h=3,f=!1,g=!1,m=!1,_=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function C(W){for(var F=t(c);F!==null;){if(F.callback===null)i(c);else if(F.startTime<=W)i(c),F.sortIndex=F.expirationTime,e(l,F);else break;F=t(c)}}function y(W){if(m=!1,C(W),!g)if(t(l)!==null)g=!0,z(x);else{var F=t(c);F!==null&&U(y,F.startTime-W)}}function x(W,F){g=!1,m&&(m=!1,b(k),k=-1),f=!0;var q=h;try{for(C(F),u=t(l);u!==null&&(!(u.expirationTime>F)||W&&!M());){var Q=u.callback;if(typeof Q=="function"){u.callback=null,h=u.priorityLevel;var J=Q(u.expirationTime<=F);F=n.unstable_now(),typeof J=="function"?u.callback=J:u===t(l)&&i(l),C(F)}else i(l);u=t(l)}if(u!==null)var oe=!0;else{var pe=t(c);pe!==null&&U(y,pe.startTime-F),oe=!1}return oe}finally{u=null,h=q,f=!1}}var S=!1,L=null,k=-1,N=5,D=-1;function M(){return!(n.unstable_now()-DW||125Q?(W.sortIndex=q,e(c,W),t(l)===null&&W===t(c)&&(m?(b(k),k=-1):m=!0,U(y,q-Q))):(W.sortIndex=J,e(l,W),g||f||(g=!0,z(x))),W},n.unstable_shouldYield=M,n.unstable_wrapCallback=function(W){var F=h;return function(){var q=h;h=F;try{return W.apply(this,arguments)}finally{h=q}}}})(Ghe);Khe.exports=Ghe;var Lke=Khe.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ var DLe=Object.defineProperty;var TLe=(n,e,t)=>e in n?DLe(n,e,{enumerable:!0,con * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var eke=R,Hc=JLe;function et(n){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+n,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),aW=Object.prototype.hasOwnProperty,tke=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,zee={},$ee={};function ike(n){return aW.call($ee,n)?!0:aW.call(zee,n)?!1:tke.test(n)?$ee[n]=!0:(zee[n]=!0,!1)}function nke(n,e,t,i){if(t!==null&&t.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:t!==null?!t.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function ske(n,e,t,i){if(e===null||typeof e>"u"||nke(n,e,t,i))return!0;if(i)return!1;if(t!==null)switch(t.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function wl(n,e,t,i,s,o,r){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=t,this.propertyName=n,this.type=e,this.sanitizeURL=o,this.removeEmptyString=r}var sa={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){sa[n]=new wl(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];sa[e]=new wl(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){sa[n]=new wl(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){sa[n]=new wl(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){sa[n]=new wl(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){sa[n]=new wl(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){sa[n]=new wl(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){sa[n]=new wl(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){sa[n]=new wl(n,5,!1,n.toLowerCase(),null,!1,!1)});var jG=/[\-:]([a-z])/g;function zG(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var e=n.replace(jG,zG);sa[e]=new wl(e,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var e=n.replace(jG,zG);sa[e]=new wl(e,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var e=n.replace(jG,zG);sa[e]=new wl(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){sa[n]=new wl(n,1,!1,n.toLowerCase(),null,!1,!1)});sa.xlinkHref=new wl("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){sa[n]=new wl(n,1,!1,n.toLowerCase(),null,!0,!0)});function $G(n,e,t,i){var s=sa.hasOwnProperty(e)?sa[e]:null;(s!==null?s.type!==0:i||!(2a||s[r]!==o[a]){var l=` -`+s[r].replace(" at new "," at ");return n.displayName&&l.includes("")&&(l=l.replace("",n.displayName)),l}while(1<=r&&0<=a);break}}}finally{H7=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?fk(n):""}function oke(n){switch(n.tag){case 5:return fk(n.type);case 16:return fk("Lazy");case 13:return fk("Suspense");case 19:return fk("SuspenseList");case 0:case 2:case 15:return n=V7(n.type,!1),n;case 11:return n=V7(n.type.render,!1),n;case 1:return n=V7(n.type,!0),n;default:return""}}function uW(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case MC:return"Fragment";case RC:return"Portal";case lW:return"Profiler";case UG:return"StrictMode";case cW:return"Suspense";case dW:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case phe:return(n.displayName||"Context")+".Consumer";case ghe:return(n._context.displayName||"Context")+".Provider";case qG:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case KG:return e=n.displayName||null,e!==null?e:uW(n.type)||"Memo";case gm:e=n._payload,n=n._init;try{return uW(n(e))}catch{}}return null}function rke(n){var e=n.type;switch(n.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=e.render,n=n.displayName||n.name||"",e.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return uW(e);case 8:return e===UG?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function q_(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function _he(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function ake(n){var e=_he(n)?"checked":"value",t=Object.getOwnPropertyDescriptor(n.constructor.prototype,e),i=""+n[e];if(!n.hasOwnProperty(e)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var s=t.get,o=t.set;return Object.defineProperty(n,e,{configurable:!0,get:function(){return s.call(this)},set:function(r){i=""+r,o.call(this,r)}}),Object.defineProperty(n,e,{enumerable:t.enumerable}),{getValue:function(){return i},setValue:function(r){i=""+r},stopTracking:function(){n._valueTracker=null,delete n[e]}}}}function JT(n){n._valueTracker||(n._valueTracker=ake(n))}function bhe(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=_he(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function _A(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function hW(n,e){var t=e.checked;return to({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function qee(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=q_(e.value!=null?e.value:t),n._wrapperState={initialChecked:i,initialValue:t,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function vhe(n,e){e=e.checked,e!=null&&$G(n,"checked",e,!1)}function fW(n,e){vhe(n,e);var t=q_(e.value),i=e.type;if(t!=null)i==="number"?(t===0&&n.value===""||n.value!=t)&&(n.value=""+t):n.value!==""+t&&(n.value=""+t);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}e.hasOwnProperty("value")?gW(n,e.type,t):e.hasOwnProperty("defaultValue")&&gW(n,e.type,q_(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function Kee(n,e,t){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+n._wrapperState.initialValue,t||e===n.value||(n.value=e),n.defaultValue=e}t=n.name,t!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,t!==""&&(n.name=t)}function gW(n,e,t){(e!=="number"||_A(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var gk=Array.isArray;function Ay(n,e,t,i){if(n=n.options,e){e={};for(var s=0;s"+e.valueOf().toString()+"",e=e2.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function vE(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var zk={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},lke=["Webkit","ms","Moz","O"];Object.keys(zk).forEach(function(n){lke.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),zk[e]=zk[n]})});function She(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||zk.hasOwnProperty(n)&&zk[n]?(""+e).trim():e+"px"}function xhe(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,s=She(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,s):n[t]=s}}var cke=to({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function _W(n,e){if(e){if(cke[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(et(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(et(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(et(61))}if(e.style!=null&&typeof e.style!="object")throw Error(et(62))}}function bW(n,e){if(n.indexOf("-")===-1)return typeof e.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var vW=null;function GG(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var wW=null,Py=null,Oy=null;function Zee(n){if(n=jD(n)){if(typeof wW!="function")throw Error(et(280));var e=n.stateNode;e&&(e=p3(e),wW(n.stateNode,n.type,e))}}function Lhe(n){Py?Oy?Oy.push(n):Oy=[n]:Py=n}function khe(){if(Py){var n=Py,e=Oy;if(Oy=Py=null,Zee(n),e)for(n=0;n>>=0,n===0?32:31-(wke(n)/Cke|0)|0}var t2=64,i2=4194304;function pk(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function CA(n,e){var t=n.pendingLanes;if(t===0)return 0;var i=0,s=n.suspendedLanes,o=n.pingedLanes,r=t&268435455;if(r!==0){var a=r&~s;a!==0?i=pk(a):(o&=r,o!==0&&(i=pk(o)))}else r=t&~s,r!==0?i=pk(r):o!==0&&(i=pk(o));if(i===0)return 0;if(e!==0&&e!==i&&!(e&s)&&(s=i&-i,o=e&-e,s>=o||s===16&&(o&4194240)!==0))return e;if(i&4&&(i|=t&16),e=n.entangledLanes,e!==0)for(n=n.entanglements,e&=i;0t;t++)e.push(n);return e}function HD(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Mu(e),n[e]=t}function Lke(n,e){var t=n.pendingLanes&~e;n.pendingLanes=e,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=e,n.mutableReadLanes&=e,n.entangledLanes&=e,e=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=Uk),ote=" ",rte=!1;function qhe(n,e){switch(n){case"keyup":return Jke.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Khe(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var AC=!1;function tNe(n,e){switch(n){case"compositionend":return Khe(e);case"keypress":return e.which!==32?null:(rte=!0,ote);case"textInput":return n=e.data,n===ote&&rte?null:n;default:return null}}function iNe(n,e){if(AC)return n==="compositionend"||!iY&&qhe(n,e)?(n=$he(),dM=JG=Hm=null,AC=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:t,offset:e-n};n=i}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=dte(t)}}function Xhe(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?Xhe(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function Qhe(){for(var n=window,e=_A();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=_A(n.document)}return e}function nY(n){var e=n&&n.nodeName&&n.nodeName.toLowerCase();return e&&(e==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||e==="textarea"||n.contentEditable==="true")}function uNe(n){var e=Qhe(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&Xhe(t.ownerDocument.documentElement,t)){if(i!==null&&nY(t)){if(e=i.start,n=i.end,n===void 0&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if(n=(e=t.ownerDocument||document)&&e.defaultView||window,n.getSelection){n=n.getSelection();var s=t.textContent.length,o=Math.min(i.start,s);i=i.end===void 0?o:Math.min(i.end,s),!n.extend&&o>i&&(s=i,i=o,o=s),s=ute(t,o);var r=ute(t,i);s&&r&&(n.rangeCount!==1||n.anchorNode!==s.node||n.anchorOffset!==s.offset||n.focusNode!==r.node||n.focusOffset!==r.offset)&&(e=e.createRange(),e.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(e),n.extend(r.node,r.offset)):(e.setEnd(r.node,r.offset),n.addRange(e)))}}for(e=[],n=t;n=n.parentNode;)n.nodeType===1&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,PC=null,kW=null,Kk=null,NW=!1;function hte(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;NW||PC==null||PC!==_A(i)||(i=PC,"selectionStart"in i&&nY(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Kk&&LE(Kk,i)||(Kk=i,i=xA(kW,"onSelect"),0BC||(n.current=MW[BC],MW[BC]=null,BC--)}function Cs(n,e){BC++,MW[BC]=n.current,n.current=e}var K_={},Ta=gb(K_),Yl=gb(!1),x0=K_;function FS(n,e){var t=n.type.contextTypes;if(!t)return K_;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var s={},o;for(o in t)s[o]=e[o];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=e,n.__reactInternalMemoizedMaskedChildContext=s),s}function Zl(n){return n=n.childContextTypes,n!=null}function kA(){ks(Yl),ks(Ta)}function vte(n,e,t){if(Ta.current!==K_)throw Error(et(168));Cs(Ta,e),Cs(Yl,t)}function afe(n,e,t){var i=n.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return t;i=i.getChildContext();for(var s in i)if(!(s in e))throw Error(et(108,rke(n)||"Unknown",s));return to({},t,i)}function NA(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||K_,x0=Ta.current,Cs(Ta,n),Cs(Yl,Yl.current),!0}function wte(n,e,t){var i=n.stateNode;if(!i)throw Error(et(169));t?(n=afe(n,e,x0),i.__reactInternalMemoizedMergedChildContext=n,ks(Yl),ks(Ta),Cs(Ta,n)):ks(Yl),Cs(Yl,t)}var mg=null,m3=!1,t6=!1;function lfe(n){mg===null?mg=[n]:mg.push(n)}function SNe(n){m3=!0,lfe(n)}function pb(){if(!t6&&mg!==null){t6=!0;var n=0,e=Xn;try{var t=mg;for(Xn=1;n>=r,s-=r,Dg=1<<32-Mu(e)+s|t<k?(N=L,L=null):N=L.sibling;var T=h(b,L,C[k],y);if(T===null){L===null&&(L=N);break}n&&L&&T.alternate===null&&e(b,L),v=o(T,v,k),x===null?S=T:x.sibling=T,x=T,L=N}if(k===C.length)return t(b,L),Ts&&qb(b,k),S;if(L===null){for(;kk?(N=L,L=null):N=L.sibling;var M=h(b,L,T.value,y);if(M===null){L===null&&(L=N);break}n&&L&&M.alternate===null&&e(b,L),v=o(M,v,k),x===null?S=M:x.sibling=M,x=M,L=N}if(T.done)return t(b,L),Ts&&qb(b,k),S;if(L===null){for(;!T.done;k++,T=C.next())T=u(b,T.value,y),T!==null&&(v=o(T,v,k),x===null?S=T:x.sibling=T,x=T);return Ts&&qb(b,k),S}for(L=i(b,L);!T.done;k++,T=C.next())T=f(L,b,k,T.value,y),T!==null&&(n&&T.alternate!==null&&L.delete(T.key===null?k:T.key),v=o(T,v,k),x===null?S=T:x.sibling=T,x=T);return n&&L.forEach(function(P){return e(b,P)}),Ts&&qb(b,k),S}function _(b,v,C,y){if(typeof C=="object"&&C!==null&&C.type===MC&&C.key===null&&(C=C.props.children),typeof C=="object"&&C!==null){switch(C.$$typeof){case QT:e:{for(var S=C.key,x=v;x!==null;){if(x.key===S){if(S=C.type,S===MC){if(x.tag===7){t(b,x.sibling),v=s(x,C.props.children),v.return=b,b=v;break e}}else if(x.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===gm&&Ste(S)===x.type){t(b,x.sibling),v=s(x,C.props),v.ref=SL(b,x,C),v.return=b,b=v;break e}t(b,x);break}else e(b,x);x=x.sibling}C.type===MC?(v=a1(C.props.children,b.mode,y,C.key),v.return=b,b=v):(y=bM(C.type,C.key,C.props,null,b.mode,y),y.ref=SL(b,v,C),y.return=b,b=y)}return r(b);case RC:e:{for(x=C.key;v!==null;){if(v.key===x)if(v.tag===4&&v.stateNode.containerInfo===C.containerInfo&&v.stateNode.implementation===C.implementation){t(b,v.sibling),v=s(v,C.children||[]),v.return=b,b=v;break e}else{t(b,v);break}else e(b,v);v=v.sibling}v=c6(C,b.mode,y),v.return=b,b=v}return r(b);case gm:return x=C._init,_(b,v,x(C._payload),y)}if(gk(C))return g(b,v,C,y);if(bL(C))return p(b,v,C,y);c2(b,C)}return typeof C=="string"&&C!==""||typeof C=="number"?(C=""+C,v!==null&&v.tag===6?(t(b,v.sibling),v=s(v,C),v.return=b,b=v):(t(b,v),v=l6(C,b.mode,y),v.return=b,b=v),r(b)):t(b,v)}return _}var WS=hfe(!0),ffe=hfe(!1),DA=gb(null),TA=null,VC=null,aY=null;function lY(){aY=VC=TA=null}function cY(n){var e=DA.current;ks(DA),n._currentValue=e}function OW(n,e,t){for(;n!==null;){var i=n.alternate;if((n.childLanes&e)!==e?(n.childLanes|=e,i!==null&&(i.childLanes|=e)):i!==null&&(i.childLanes&e)!==e&&(i.childLanes|=e),n===t)break;n=n.return}}function By(n,e){TA=n,aY=VC=null,n=n.dependencies,n!==null&&n.firstContext!==null&&(n.lanes&e&&($l=!0),n.firstContext=null)}function Pd(n){var e=n._currentValue;if(aY!==n)if(n={context:n,memoizedValue:e,next:null},VC===null){if(TA===null)throw Error(et(308));VC=n,TA.dependencies={lanes:0,firstContext:n}}else VC=VC.next=n;return e}var Wv=null;function dY(n){Wv===null?Wv=[n]:Wv.push(n)}function gfe(n,e,t,i){var s=e.interleaved;return s===null?(t.next=t,dY(e)):(t.next=s.next,s.next=t),e.interleaved=t,gp(n,i)}function gp(n,e){n.lanes|=e;var t=n.alternate;for(t!==null&&(t.lanes|=e),t=n,n=n.return;n!==null;)n.childLanes|=e,t=n.alternate,t!==null&&(t.childLanes|=e),t=n,n=n.return;return t.tag===3?t.stateNode:null}var pm=!1;function uY(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function pfe(n,e){n=n.updateQueue,e.updateQueue===n&&(e.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function Zg(n,e){return{eventTime:n,lane:e,tag:0,payload:null,callback:null,next:null}}function h_(n,e,t){var i=n.updateQueue;if(i===null)return null;if(i=i.shared,Cn&2){var s=i.pending;return s===null?e.next=e:(e.next=s.next,s.next=e),i.pending=e,gp(n,t)}return s=i.interleaved,s===null?(e.next=e,dY(i)):(e.next=s.next,s.next=e),i.interleaved=e,gp(n,t)}function hM(n,e,t){if(e=e.updateQueue,e!==null&&(e=e.shared,(t&4194240)!==0)){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,ZG(n,t)}}function xte(n,e){var t=n.updateQueue,i=n.alternate;if(i!==null&&(i=i.updateQueue,t===i)){var s=null,o=null;if(t=t.firstBaseUpdate,t!==null){do{var r={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};o===null?s=o=r:o=o.next=r,t=t.next}while(t!==null);o===null?s=o=e:o=o.next=e}else s=o=e;t={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:o,shared:i.shared,effects:i.effects},n.updateQueue=t;return}n=t.lastBaseUpdate,n===null?t.firstBaseUpdate=e:n.next=e,t.lastBaseUpdate=e}function RA(n,e,t,i){var s=n.updateQueue;pm=!1;var o=s.firstBaseUpdate,r=s.lastBaseUpdate,a=s.shared.pending;if(a!==null){s.shared.pending=null;var l=a,c=l.next;l.next=null,r===null?o=c:r.next=c,r=l;var d=n.alternate;d!==null&&(d=d.updateQueue,a=d.lastBaseUpdate,a!==r&&(a===null?d.firstBaseUpdate=c:a.next=c,d.lastBaseUpdate=l))}if(o!==null){var u=s.baseState;r=0,d=c=l=null,a=o;do{var h=a.lane,f=a.eventTime;if((i&h)===h){d!==null&&(d=d.next={eventTime:f,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var g=n,p=a;switch(h=e,f=t,p.tag){case 1:if(g=p.payload,typeof g=="function"){u=g.call(f,u,h);break e}u=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=p.payload,h=typeof g=="function"?g.call(f,u,h):g,h==null)break e;u=to({},u,h);break e;case 2:pm=!0}}a.callback!==null&&a.lane!==0&&(n.flags|=64,h=s.effects,h===null?s.effects=[a]:h.push(a))}else f={eventTime:f,lane:h,tag:a.tag,payload:a.payload,callback:a.callback,next:null},d===null?(c=d=f,l=u):d=d.next=f,r|=h;if(a=a.next,a===null){if(a=s.shared.pending,a===null)break;h=a,a=h.next,h.next=null,s.lastBaseUpdate=h,s.shared.pending=null}}while(!0);if(d===null&&(l=u),s.baseState=l,s.firstBaseUpdate=c,s.lastBaseUpdate=d,e=s.shared.interleaved,e!==null){s=e;do r|=s.lane,s=s.next;while(s!==e)}else o===null&&(s.shared.lanes=0);N0|=r,n.lanes=r,n.memoizedState=u}}function Lte(n,e,t){if(n=e.effects,e.effects=null,n!==null)for(e=0;et?t:4,n(!0);var i=n6.transition;n6.transition={};try{n(!1),e()}finally{Xn=t,n6.transition=i}}function Rfe(){return Od().memoizedState}function NNe(n,e,t){var i=g_(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},Mfe(n))Afe(e,t);else if(t=gfe(n,e,t,i),t!==null){var s=rl();Au(t,n,i,s),Pfe(t,e,i)}}function ENe(n,e,t){var i=g_(n),s={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(Mfe(n))Afe(e,s);else{var o=n.alternate;if(n.lanes===0&&(o===null||o.lanes===0)&&(o=e.lastRenderedReducer,o!==null))try{var r=e.lastRenderedState,a=o(r,t);if(s.hasEagerState=!0,s.eagerState=a,Hu(a,r)){var l=e.interleaved;l===null?(s.next=s,dY(e)):(s.next=l.next,l.next=s),e.interleaved=s;return}}catch{}finally{}t=gfe(n,e,s,i),t!==null&&(s=rl(),Au(t,n,i,s),Pfe(t,e,i))}}function Mfe(n){var e=n.alternate;return n===Xs||e!==null&&e===Xs}function Afe(n,e){Gk=AA=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function Pfe(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,ZG(n,t)}}var PA={readContext:Pd,useCallback:_a,useContext:_a,useEffect:_a,useImperativeHandle:_a,useInsertionEffect:_a,useLayoutEffect:_a,useMemo:_a,useReducer:_a,useRef:_a,useState:_a,useDebugValue:_a,useDeferredValue:_a,useTransition:_a,useMutableSource:_a,useSyncExternalStore:_a,useId:_a,unstable_isNewReconciler:!1},INe={readContext:Pd,useCallback:function(n,e){return Ch().memoizedState=[n,e===void 0?null:e],n},useContext:Pd,useEffect:Nte,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,gM(4194308,4,Nfe.bind(null,e,n),t)},useLayoutEffect:function(n,e){return gM(4194308,4,n,e)},useInsertionEffect:function(n,e){return gM(4,2,n,e)},useMemo:function(n,e){var t=Ch();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=Ch();return e=t!==void 0?t(e):e,i.memoizedState=i.baseState=e,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:e},i.queue=n,n=n.dispatch=NNe.bind(null,Xs,n),[i.memoizedState,n]},useRef:function(n){var e=Ch();return n={current:n},e.memoizedState=n},useState:kte,useDebugValue:vY,useDeferredValue:function(n){return Ch().memoizedState=n},useTransition:function(){var n=kte(!1),e=n[0];return n=kNe.bind(null,n[1]),Ch().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Xs,s=Ch();if(Ts){if(t===void 0)throw Error(et(407));t=t()}else{if(t=e(),Mr===null)throw Error(et(349));k0&30||vfe(i,e,t)}s.memoizedState=t;var o={value:t,getSnapshot:e};return s.queue=o,Nte(Cfe.bind(null,i,o,n),[n]),i.flags|=2048,ME(9,wfe.bind(null,i,o,t,e),void 0,null),t},useId:function(){var n=Ch(),e=Mr.identifierPrefix;if(Ts){var t=Tg,i=Dg;t=(i&~(1<<32-Mu(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=TE++,0<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=r.createElement(t,{is:i.is}):(n=r.createElement(t),t==="select"&&(r=n,i.multiple?r.multiple=!0:i.size&&(r.size=i.size))):n=r.createElementNS(n,t),n[Wh]=e,n[EE]=i,Ufe(n,e,!1,!1),e.stateNode=n;e:{switch(r=bW(t,i),t){case"dialog":xs("cancel",n),xs("close",n),s=i;break;case"iframe":case"object":case"embed":xs("load",n),s=i;break;case"video":case"audio":for(s=0;sjS&&(e.flags|=128,i=!0,xL(o,!1),e.lanes=4194304)}else{if(!i)if(n=MA(r),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),xL(o,!0),o.tail===null&&o.tailMode==="hidden"&&!r.alternate&&!Ts)return ba(e),null}else 2*yo()-o.renderingStartTime>jS&&t!==1073741824&&(e.flags|=128,i=!0,xL(o,!1),e.lanes=4194304);o.isBackwards?(r.sibling=e.child,e.child=r):(t=o.last,t!==null?t.sibling=r:e.child=r,o.last=r)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=yo(),e.sibling=null,t=qs.current,Cs(qs,i?t&1|2:t&1),e):(ba(e),null);case 22:case 23:return LY(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?vc&1073741824&&(ba(e),e.subtreeFlags&6&&(e.flags|=8192)):ba(e),null;case 24:return null;case 25:return null}throw Error(et(156,e.tag))}function FNe(n,e){switch(oY(e),e.tag){case 1:return Zl(e.type)&&kA(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return HS(),ks(Yl),ks(Ta),gY(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return fY(e),null;case 13:if(ks(qs),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(et(340));BS()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return ks(qs),null;case 4:return HS(),null;case 10:return cY(e.type._context),null;case 22:case 23:return LY(),null;case 24:return null;default:return null}}var u2=!1,La=!1,BNe=typeof WeakSet=="function"?WeakSet:Set,kt=null;function jC(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){lo(n,e,i)}else t.current=null}function UW(n,e,t){try{t()}catch(i){lo(n,e,i)}}var Bte=!1;function WNe(n,e){if(EW=yA,n=Qhe(),nY(n)){if("selectionStart"in n)var t={start:n.selectionStart,end:n.selectionEnd};else e:{t=(t=n.ownerDocument)&&t.defaultView||window;var i=t.getSelection&&t.getSelection();if(i&&i.rangeCount!==0){t=i.anchorNode;var s=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{t.nodeType,o.nodeType}catch{t=null;break e}var r=0,a=-1,l=-1,c=0,d=0,u=n,h=null;t:for(;;){for(var f;u!==t||s!==0&&u.nodeType!==3||(a=r+s),u!==o||i!==0&&u.nodeType!==3||(l=r+i),u.nodeType===3&&(r+=u.nodeValue.length),(f=u.firstChild)!==null;)h=u,u=f;for(;;){if(u===n)break t;if(h===t&&++c===s&&(a=r),h===o&&++d===i&&(l=r),(f=u.nextSibling)!==null)break;u=h,h=u.parentNode}u=f}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(IW={focusedElem:n,selectionRange:t},yA=!1,kt=e;kt!==null;)if(e=kt,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,kt=n;else for(;kt!==null;){e=kt;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var p=g.memoizedProps,_=g.memoizedState,b=e.stateNode,v=b.getSnapshotBeforeUpdate(e.elementType===e.type?p:lu(e.type,p),_);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var C=e.stateNode.containerInfo;C.nodeType===1?C.textContent="":C.nodeType===9&&C.documentElement&&C.removeChild(C.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(et(163))}}catch(y){lo(e,e.return,y)}if(n=e.sibling,n!==null){n.return=e.return,kt=n;break}kt=e.return}return g=Bte,Bte=!1,g}function Yk(n,e,t){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&n)===n){var o=s.destroy;s.destroy=void 0,o!==void 0&&UW(e,t,o)}s=s.next}while(s!==i)}}function v3(n,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var t=e=e.next;do{if((t.tag&n)===n){var i=t.create;t.destroy=i()}t=t.next}while(t!==e)}}function qW(n){var e=n.ref;if(e!==null){var t=n.stateNode;switch(n.tag){case 5:n=t;break;default:n=t}typeof e=="function"?e(n):e.current=n}}function Gfe(n){var e=n.alternate;e!==null&&(n.alternate=null,Gfe(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Wh],delete e[EE],delete e[RW],delete e[CNe],delete e[yNe])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function Yfe(n){return n.tag===5||n.tag===3||n.tag===4}function Wte(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Yfe(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function KW(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.nodeType===8?t.parentNode.insertBefore(n,e):t.insertBefore(n,e):(t.nodeType===8?(e=t.parentNode,e.insertBefore(n,t)):(e=t,e.appendChild(n)),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=LA));else if(i!==4&&(n=n.child,n!==null))for(KW(n,e,t),n=n.sibling;n!==null;)KW(n,e,t),n=n.sibling}function GW(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.insertBefore(n,e):t.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(GW(n,e,t),n=n.sibling;n!==null;)GW(n,e,t),n=n.sibling}var Kr=null,uu=!1;function Jp(n,e,t){for(t=t.child;t!==null;)Zfe(n,e,t),t=t.sibling}function Zfe(n,e,t){if(tf&&typeof tf.onCommitFiberUnmount=="function")try{tf.onCommitFiberUnmount(u3,t)}catch{}switch(t.tag){case 5:La||jC(t,e);case 6:var i=Kr,s=uu;Kr=null,Jp(n,e,t),Kr=i,uu=s,Kr!==null&&(uu?(n=Kr,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Kr.removeChild(t.stateNode));break;case 18:Kr!==null&&(uu?(n=Kr,t=t.stateNode,n.nodeType===8?e6(n.parentNode,t):n.nodeType===1&&e6(n,t),SE(n)):e6(Kr,t.stateNode));break;case 4:i=Kr,s=uu,Kr=t.stateNode.containerInfo,uu=!0,Jp(n,e,t),Kr=i,uu=s;break;case 0:case 11:case 14:case 15:if(!La&&(i=t.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var o=s,r=o.destroy;o=o.tag,r!==void 0&&(o&2||o&4)&&UW(t,e,r),s=s.next}while(s!==i)}Jp(n,e,t);break;case 1:if(!La&&(jC(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){lo(t,e,a)}Jp(n,e,t);break;case 21:Jp(n,e,t);break;case 22:t.mode&1?(La=(i=La)||t.memoizedState!==null,Jp(n,e,t),La=i):Jp(n,e,t);break;default:Jp(n,e,t)}}function Hte(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new BNe),e.forEach(function(i){var s=GNe.bind(null,n,i);t.has(i)||(t.add(i),i.then(s,s))})}}function Qd(n,e){var t=e.deletions;if(t!==null)for(var i=0;is&&(s=r),i&=~o}if(i=s,i=yo()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*VNe(i/1960))-i,10n?16:n,Vm===null)var i=!1;else{if(n=Vm,Vm=null,BA=0,Cn&6)throw Error(et(331));var s=Cn;for(Cn|=4,kt=n.current;kt!==null;){var o=kt,r=o.child;if(kt.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lyo()-SY?r1(n,0):yY|=t),Xl(n,e)}function sge(n,e){e===0&&(n.mode&1?(e=i2,i2<<=1,!(i2&130023424)&&(i2=4194304)):e=1);var t=rl();n=gp(n,e),n!==null&&(HD(n,e,t),Xl(n,t))}function KNe(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),sge(n,t)}function GNe(n,e){var t=0;switch(n.tag){case 13:var i=n.stateNode,s=n.memoizedState;s!==null&&(t=s.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(et(314))}i!==null&&i.delete(e),sge(n,t)}var oge;oge=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Yl.current)$l=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return $l=!1,PNe(n,e,t);$l=!!(n.flags&131072)}else $l=!1,Ts&&e.flags&1048576&&cfe(e,IA,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;pM(n,e),n=e.pendingProps;var s=FS(e,Ta.current);By(e,t),s=mY(null,e,i,n,s,t);var o=_Y();return e.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Zl(i)?(o=!0,NA(e)):o=!1,e.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,uY(e),s.updater=b3,e.stateNode=s,s._reactInternals=e,BW(e,i,n,t),e=VW(null,e,i,!0,o,t)):(e.tag=0,Ts&&o&&sY(e),Xa(null,e,s,t),e=e.child),e;case 16:i=e.elementType;e:{switch(pM(n,e),n=e.pendingProps,s=i._init,i=s(i._payload),e.type=i,s=e.tag=ZNe(i),n=lu(i,n),s){case 0:e=HW(null,e,i,n,t);break e;case 1:e=Pte(null,e,i,n,t);break e;case 11:e=Mte(null,e,i,n,t);break e;case 14:e=Ate(null,e,i,lu(i.type,n),t);break e}throw Error(et(306,i,""))}return e;case 0:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:lu(i,s),HW(n,e,i,s,t);case 1:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:lu(i,s),Pte(n,e,i,s,t);case 3:e:{if(jfe(e),n===null)throw Error(et(387));i=e.pendingProps,o=e.memoizedState,s=o.element,pfe(n,e),RA(e,i,null,t);var r=e.memoizedState;if(i=r.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:r.cache,pendingSuspenseBoundaries:r.pendingSuspenseBoundaries,transitions:r.transitions},e.updateQueue.baseState=o,e.memoizedState=o,e.flags&256){s=VS(Error(et(423)),e),e=Ote(n,e,i,t,s);break e}else if(i!==s){s=VS(Error(et(424)),e),e=Ote(n,e,i,t,s);break e}else for(Mc=u_(e.stateNode.containerInfo.firstChild),Pc=e,Ts=!0,mu=null,t=ffe(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(BS(),i===s){e=pp(n,e,t);break e}Xa(n,e,i,t)}e=e.child}return e;case 5:return mfe(e),n===null&&PW(e),i=e.type,s=e.pendingProps,o=n!==null?n.memoizedProps:null,r=s.children,DW(i,s)?r=null:o!==null&&DW(i,o)&&(e.flags|=32),Vfe(n,e),Xa(n,e,r,t),e.child;case 6:return n===null&&PW(e),null;case 13:return zfe(n,e,t);case 4:return hY(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=WS(e,null,i,t):Xa(n,e,i,t),e.child;case 11:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:lu(i,s),Mte(n,e,i,s,t);case 7:return Xa(n,e,e.pendingProps,t),e.child;case 8:return Xa(n,e,e.pendingProps.children,t),e.child;case 12:return Xa(n,e,e.pendingProps.children,t),e.child;case 10:e:{if(i=e.type._context,s=e.pendingProps,o=e.memoizedProps,r=s.value,Cs(DA,i._currentValue),i._currentValue=r,o!==null)if(Hu(o.value,r)){if(o.children===s.children&&!Yl.current){e=pp(n,e,t);break e}}else for(o=e.child,o!==null&&(o.return=e);o!==null;){var a=o.dependencies;if(a!==null){r=o.child;for(var l=a.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=Zg(-1,t&-t),l.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var d=c.pending;d===null?l.next=l:(l.next=d.next,d.next=l),c.pending=l}}o.lanes|=t,l=o.alternate,l!==null&&(l.lanes|=t),OW(o.return,t,e),a.lanes|=t;break}l=l.next}}else if(o.tag===10)r=o.type===e.type?null:o.child;else if(o.tag===18){if(r=o.return,r===null)throw Error(et(341));r.lanes|=t,a=r.alternate,a!==null&&(a.lanes|=t),OW(r,t,e),r=o.sibling}else r=o.child;if(r!==null)r.return=o;else for(r=o;r!==null;){if(r===e){r=null;break}if(o=r.sibling,o!==null){o.return=r.return,r=o;break}r=r.return}o=r}Xa(n,e,s.children,t),e=e.child}return e;case 9:return s=e.type,i=e.pendingProps.children,By(e,t),s=Pd(s),i=i(s),e.flags|=1,Xa(n,e,i,t),e.child;case 14:return i=e.type,s=lu(i,e.pendingProps),s=lu(i.type,s),Ate(n,e,i,s,t);case 15:return Wfe(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:lu(i,s),pM(n,e),e.tag=1,Zl(i)?(n=!0,NA(e)):n=!1,By(e,t),Ofe(e,i,s),BW(e,i,s,t),VW(null,e,i,!0,n,t);case 19:return $fe(n,e,t);case 22:return Hfe(n,e,t)}throw Error(et(156,e.tag))};function rge(n,e){return Mhe(n,e)}function YNe(n,e,t,i){this.tag=n,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kd(n,e,t,i){return new YNe(n,e,t,i)}function NY(n){return n=n.prototype,!(!n||!n.isReactComponent)}function ZNe(n){if(typeof n=="function")return NY(n)?1:0;if(n!=null){if(n=n.$$typeof,n===qG)return 11;if(n===KG)return 14}return 2}function p_(n,e){var t=n.alternate;return t===null?(t=kd(n.tag,e,n.key,n.mode),t.elementType=n.elementType,t.type=n.type,t.stateNode=n.stateNode,t.alternate=n,n.alternate=t):(t.pendingProps=e,t.type=n.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=n.flags&14680064,t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=n.sibling,t.index=n.index,t.ref=n.ref,t}function bM(n,e,t,i,s,o){var r=2;if(i=n,typeof n=="function")NY(n)&&(r=1);else if(typeof n=="string")r=5;else e:switch(n){case MC:return a1(t.children,s,o,e);case UG:r=8,s|=8;break;case lW:return n=kd(12,t,e,s|2),n.elementType=lW,n.lanes=o,n;case cW:return n=kd(13,t,e,s),n.elementType=cW,n.lanes=o,n;case dW:return n=kd(19,t,e,s),n.elementType=dW,n.lanes=o,n;case mhe:return C3(t,s,o,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case ghe:r=10;break e;case phe:r=9;break e;case qG:r=11;break e;case KG:r=14;break e;case gm:r=16,i=null;break e}throw Error(et(130,n==null?n:typeof n,""))}return e=kd(r,t,e,s),e.elementType=n,e.type=i,e.lanes=o,e}function a1(n,e,t,i){return n=kd(7,n,i,e),n.lanes=t,n}function C3(n,e,t,i){return n=kd(22,n,i,e),n.elementType=mhe,n.lanes=t,n.stateNode={isHidden:!1},n}function l6(n,e,t){return n=kd(6,n,null,e),n.lanes=t,n}function c6(n,e,t){return e=kd(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function XNe(n,e,t,i,s){this.tag=e,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=z7(0),this.expirationTimes=z7(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=z7(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function EY(n,e,t,i,s,o,r,a,l){return n=new XNe(n,e,t,a,l),e===1?(e=1,o===!0&&(e|=8)):e=0,o=kd(3,null,null,e),n.current=o,o.stateNode=n,o.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},uY(o),n}function QNe(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(dge)}catch(n){console.error(n)}}dge(),dhe.exports=Zc;var k3=dhe.exports,Gte=k3;rW.createRoot=Gte.createRoot,rW.hydrateRoot=Gte.hydrateRoot;const nEe="modulepreload",sEe=function(n){return"/"+n},Yte={},uge=function(e,t,i){let s=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),a=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));s=Promise.allSettled(t.map(l=>{if(l=sEe(l),l in Yte)return;Yte[l]=!0;const c=l.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const u=document.createElement("link");if(u.rel=c?"stylesheet":nEe,c||(u.as="script"),u.crossOrigin="",u.href=l,a&&u.setAttribute("nonce",a),document.head.appendChild(u),c)return new Promise((h,f)=>{u.addEventListener("load",h),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${l}`)))})}))}function o(r){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=r,window.dispatchEvent(a),!a.defaultPrevented)throw r}return s.then(r=>{for(const a of r||[])a.status==="rejected"&&o(a.reason);return e().catch(o)})};function Zo(n){if(typeof n=="string"||typeof n=="number")return""+n;let e="";if(Array.isArray(n))for(let t=0,i;t{}};function N3(){for(var n=0,e=arguments.length,t={},i;n=0&&(i=t.slice(s+1),t=t.slice(0,s)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:i}})}vM.prototype=N3.prototype={constructor:vM,on:function(n,e){var t=this._,i=rEe(n+"",t),s,o=-1,r=i.length;if(arguments.length<2){for(;++o0)for(var t=new Array(s),i=0,s,o;i=0&&(e=n.slice(0,t))!=="xmlns"&&(n=n.slice(t+1)),Xte.hasOwnProperty(e)?{space:Xte[e],local:n}:n}function lEe(n){return function(){var e=this.ownerDocument,t=this.namespaceURI;return t===JW&&e.documentElement.namespaceURI===JW?e.createElement(n):e.createElementNS(t,n)}}function cEe(n){return function(){return this.ownerDocument.createElementNS(n.space,n.local)}}function hge(n){var e=E3(n);return(e.local?cEe:lEe)(e)}function dEe(){}function RY(n){return n==null?dEe:function(){return this.querySelector(n)}}function uEe(n){typeof n!="function"&&(n=RY(n));for(var e=this._groups,t=e.length,i=new Array(t),s=0;s=C&&(C=v+1);!(S=_[C])&&++C=0;)(r=i[s])&&(o&&r.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(r,o),o=r);return this}function OEe(n){n||(n=FEe);function e(u,h){return u&&h?n(u.__data__,h.__data__):!u-!h}for(var t=this._groups,i=t.length,s=new Array(i),o=0;oe?1:n>=e?0:NaN}function BEe(){var n=arguments[0];return arguments[0]=this,n.apply(null,arguments),this}function WEe(){return Array.from(this)}function HEe(){for(var n=this._groups,e=0,t=n.length;e1?this.each((e==null?XEe:typeof e=="function"?JEe:QEe)(n,e,t??"")):zS(this.node(),n)}function zS(n,e){return n.style.getPropertyValue(e)||_ge(n).getComputedStyle(n,null).getPropertyValue(e)}function tIe(n){return function(){delete this[n]}}function iIe(n,e){return function(){this[n]=e}}function nIe(n,e){return function(){var t=e.apply(this,arguments);t==null?delete this[n]:this[n]=t}}function sIe(n,e){return arguments.length>1?this.each((e==null?tIe:typeof e=="function"?nIe:iIe)(n,e)):this.node()[n]}function bge(n){return n.trim().split(/^|\s+/)}function MY(n){return n.classList||new vge(n)}function vge(n){this._node=n,this._names=bge(n.getAttribute("class")||"")}vge.prototype={add:function(n){var e=this._names.indexOf(n);e<0&&(this._names.push(n),this._node.setAttribute("class",this._names.join(" ")))},remove:function(n){var e=this._names.indexOf(n);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(n){return this._names.indexOf(n)>=0}};function wge(n,e){for(var t=MY(n),i=-1,s=e.length;++i=0&&(t=e.slice(i+1),e=e.slice(0,i)),{type:e,name:t}})}function RIe(n){return function(){var e=this.__on;if(e){for(var t=0,i=-1,s=e.length,o;t()=>n;function eH(n,{sourceEvent:e,subject:t,target:i,identifier:s,active:o,x:r,y:a,dx:l,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:t,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:r,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}eH.prototype.on=function(){var n=this._.on.apply(this._,arguments);return n===this._?this:n};function jIe(n){return!n.ctrlKey&&!n.button}function zIe(){return this.parentNode}function $Ie(n,e){return e??{x:n.x,y:n.y}}function UIe(){return navigator.maxTouchPoints||"ontouchstart"in this}function kge(){var n=jIe,e=zIe,t=$Ie,i=UIe,s={},o=N3("start","drag","end"),r=0,a,l,c,d,u=0;function h(y){y.on("mousedown.drag",f).filter(i).on("touchstart.drag",_).on("touchmove.drag",b,VIe).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(y,S){if(!(d||!n.call(this,y,S))){var x=C(this,e.call(this,y,S),y,S,"mouse");x&&(Lc(y.view).on("mousemove.drag",g,PE).on("mouseup.drag",p,PE),xge(y.view),d6(y),c=!1,a=y.clientX,l=y.clientY,x("start",y))}}function g(y){if(Hy(y),!c){var S=y.clientX-a,x=y.clientY-l;c=S*S+x*x>u}s.mouse("drag",y)}function p(y){Lc(y.view).on("mousemove.drag mouseup.drag",null),Lge(y.view,c),Hy(y),s.mouse("end",y)}function _(y,S){if(n.call(this,y,S)){var x=y.changedTouches,L=e.call(this,y,S),k=x.length,N,T;for(N=0;N>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?p2(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?p2(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=KIe.exec(n))?new Ul(e[1],e[2],e[3],1):(e=GIe.exec(n))?new Ul(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=YIe.exec(n))?p2(e[1],e[2],e[3],e[4]):(e=ZIe.exec(n))?p2(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=XIe.exec(n))?sie(e[1],e[2]/100,e[3]/100,1):(e=QIe.exec(n))?sie(e[1],e[2]/100,e[3]/100,e[4]):Qte.hasOwnProperty(n)?tie(Qte[n]):n==="transparent"?new Ul(NaN,NaN,NaN,0):null}function tie(n){return new Ul(n>>16&255,n>>8&255,n&255,1)}function p2(n,e,t,i){return i<=0&&(n=e=t=NaN),new Ul(n,e,t,i)}function tDe(n){return n instanceof UD||(n=I0(n)),n?(n=n.rgb(),new Ul(n.r,n.g,n.b,n.opacity)):new Ul}function tH(n,e,t,i){return arguments.length===1?tDe(n):new Ul(n,e,t,i??1)}function Ul(n,e,t,i){this.r=+n,this.g=+e,this.b=+t,this.opacity=+i}AY(Ul,tH,Nge(UD,{brighter(n){return n=n==null?jA:Math.pow(jA,n),new Ul(this.r*n,this.g*n,this.b*n,this.opacity)},darker(n){return n=n==null?OE:Math.pow(OE,n),new Ul(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new Ul(l1(this.r),l1(this.g),l1(this.b),zA(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:iie,formatHex:iie,formatHex8:iDe,formatRgb:nie,toString:nie}));function iie(){return`#${Vv(this.r)}${Vv(this.g)}${Vv(this.b)}`}function iDe(){return`#${Vv(this.r)}${Vv(this.g)}${Vv(this.b)}${Vv((isNaN(this.opacity)?1:this.opacity)*255)}`}function nie(){const n=zA(this.opacity);return`${n===1?"rgb(":"rgba("}${l1(this.r)}, ${l1(this.g)}, ${l1(this.b)}${n===1?")":`, ${n})`}`}function zA(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function l1(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function Vv(n){return n=l1(n),(n<16?"0":"")+n.toString(16)}function sie(n,e,t,i){return i<=0?n=e=t=NaN:t<=0||t>=1?n=e=NaN:e<=0&&(n=NaN),new xu(n,e,t,i)}function Ege(n){if(n instanceof xu)return new xu(n.h,n.s,n.l,n.opacity);if(n instanceof UD||(n=I0(n)),!n)return new xu;if(n instanceof xu)return n;n=n.rgb();var e=n.r/255,t=n.g/255,i=n.b/255,s=Math.min(e,t,i),o=Math.max(e,t,i),r=NaN,a=o-s,l=(o+s)/2;return a?(e===o?r=(t-i)/a+(t0&&l<1?0:r,new xu(r,a,l,n.opacity)}function nDe(n,e,t,i){return arguments.length===1?Ege(n):new xu(n,e,t,i??1)}function xu(n,e,t,i){this.h=+n,this.s=+e,this.l=+t,this.opacity=+i}AY(xu,nDe,Nge(UD,{brighter(n){return n=n==null?jA:Math.pow(jA,n),new xu(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?OE:Math.pow(OE,n),new xu(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,e=isNaN(n)||isNaN(this.s)?0:this.s,t=this.l,i=t+(t<.5?t:1-t)*e,s=2*t-i;return new Ul(u6(n>=240?n-240:n+120,s,i),u6(n,s,i),u6(n<120?n+240:n-120,s,i),this.opacity)},clamp(){return new xu(oie(this.h),m2(this.s),m2(this.l),zA(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const n=zA(this.opacity);return`${n===1?"hsl(":"hsla("}${oie(this.h)}, ${m2(this.s)*100}%, ${m2(this.l)*100}%${n===1?")":`, ${n})`}`}}));function oie(n){return n=(n||0)%360,n<0?n+360:n}function m2(n){return Math.max(0,Math.min(1,n||0))}function u6(n,e,t){return(n<60?e+(t-e)*n/60:n<180?t:n<240?e+(t-e)*(240-n)/60:e)*255}const PY=n=>()=>n;function sDe(n,e){return function(t){return n+t*e}}function oDe(n,e,t){return n=Math.pow(n,t),e=Math.pow(e,t)-n,t=1/t,function(i){return Math.pow(n+i*e,t)}}function rDe(n){return(n=+n)==1?Ige:function(e,t){return t-e?oDe(e,t,n):PY(isNaN(e)?t:e)}}function Ige(n,e){var t=e-n;return t?sDe(n,t):PY(isNaN(n)?e:n)}const $A=function n(e){var t=rDe(e);function i(s,o){var r=t((s=tH(s)).r,(o=tH(o)).r),a=t(s.g,o.g),l=t(s.b,o.b),c=Ige(s.opacity,o.opacity);return function(d){return s.r=r(d),s.g=a(d),s.b=l(d),s.opacity=c(d),s+""}}return i.gamma=n,i}(1);function aDe(n,e){e||(e=[]);var t=n?Math.min(e.length,n.length):0,i=e.slice(),s;return function(o){for(s=0;st&&(o=e.slice(t,o),a[r]?a[r]+=o:a[++r]=o),(i=i[0])===(s=s[0])?a[r]?a[r]+=s:a[++r]=s:(a[++r]=null,l.push({i:r,x:Rh(i,s)})),t=h6.lastIndex;return t180?d+=360:d-c>180&&(c+=360),h.push({i:u.push(s(u)+"rotate(",null,i)-2,x:Rh(c,d)})):d&&u.push(s(u)+"rotate("+d+i)}function a(c,d,u,h){c!==d?h.push({i:u.push(s(u)+"skewX(",null,i)-2,x:Rh(c,d)}):d&&u.push(s(u)+"skewX("+d+i)}function l(c,d,u,h,f,g){if(c!==u||d!==h){var p=f.push(s(f)+"scale(",null,",",null,")");g.push({i:p-4,x:Rh(c,u)},{i:p-2,x:Rh(d,h)})}else(u!==1||h!==1)&&f.push(s(f)+"scale("+u+","+h+")")}return function(c,d){var u=[],h=[];return c=n(c),d=n(d),o(c.translateX,c.translateY,d.translateX,d.translateY,u,h),r(c.rotate,d.rotate,u,h),a(c.skewX,d.skewX,u,h),l(c.scaleX,c.scaleY,d.scaleX,d.scaleY,u,h),c=d=null,function(f){for(var g=-1,p=h.length,_;++g=0&&n._call.call(void 0,e),n=n._next;--$S}function lie(){D0=(qA=BE.now())+I3,$S=_k=0;try{yDe()}finally{$S=0,xDe(),D0=0}}function SDe(){var n=BE.now(),e=n-qA;e>Mge&&(I3-=e,qA=n)}function xDe(){for(var n,e=UA,t,i=1/0;e;)e._call?(i>e._time&&(i=e._time),n=e,e=e._next):(t=e._next,e._next=null,e=n?n._next=t:UA=t);bk=n,sH(i)}function sH(n){if(!$S){_k&&(_k=clearTimeout(_k));var e=n-D0;e>24?(n<1/0&&(_k=setTimeout(lie,n-BE.now()-I3)),kL&&(kL=clearInterval(kL))):(kL||(qA=BE.now(),kL=setInterval(SDe,Mge)),$S=1,Age(lie))}}function cie(n,e,t){var i=new KA;return e=e==null?0:+e,i.restart(s=>{i.stop(),n(s+e)},e,t),i}var LDe=N3("start","end","cancel","interrupt"),kDe=[],Oge=0,die=1,oH=2,CM=3,uie=4,rH=5,yM=6;function D3(n,e,t,i,s,o){var r=n.__transition;if(!r)n.__transition={};else if(t in r)return;NDe(n,t,{name:e,index:i,group:s,on:LDe,tween:kDe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Oge})}function FY(n,e){var t=Xu(n,e);if(t.state>Oge)throw new Error("too late; already scheduled");return t}function yf(n,e){var t=Xu(n,e);if(t.state>CM)throw new Error("too late; already running");return t}function Xu(n,e){var t=n.__transition;if(!t||!(t=t[e]))throw new Error("transition not found");return t}function NDe(n,e,t){var i=n.__transition,s;i[e]=t,t.timer=Pge(o,0,t.time);function o(c){t.state=die,t.timer.restart(r,t.delay,t.time),t.delay<=c&&r(c-t.delay)}function r(c){var d,u,h,f;if(t.state!==die)return l();for(d in i)if(f=i[d],f.name===t.name){if(f.state===CM)return cie(r);f.state===uie?(f.state=yM,f.timer.stop(),f.on.call("interrupt",n,n.__data__,f.index,f.group),delete i[d]):+doH&&i.state=0&&(e=e.slice(0,t)),!e||e==="start"})}function nTe(n,e,t){var i,s,o=iTe(e)?FY:yf;return function(){var r=o(this,n),a=r.on;a!==i&&(s=(i=a).copy()).on(e,t),r.on=s}}function sTe(n,e){var t=this._id;return arguments.length<2?Xu(this.node(),t).on.on(n):this.each(nTe(t,n,e))}function oTe(n){return function(){var e=this.parentNode;for(var t in this.__transition)if(+t!==n)return;e&&e.removeChild(this)}}function rTe(){return this.on("end.remove",oTe(this._id))}function aTe(n){var e=this._name,t=this._id;typeof n!="function"&&(n=RY(n));for(var i=this._groups,s=i.length,o=new Array(s),r=0;r()=>n;function RTe(n,{sourceEvent:e,target:t,transform:i,dispatch:s}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:t,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:s}})}function Rg(n,e,t){this.k=n,this.x=e,this.y=t}Rg.prototype={constructor:Rg,scale:function(n){return n===1?this:new Rg(this.k*n,this.x,this.y)},translate:function(n,e){return n===0&e===0?this:new Rg(this.k,this.x+this.k*n,this.y+this.k*e)},apply:function(n){return[n[0]*this.k+this.x,n[1]*this.k+this.y]},applyX:function(n){return n*this.k+this.x},applyY:function(n){return n*this.k+this.y},invert:function(n){return[(n[0]-this.x)/this.k,(n[1]-this.y)/this.k]},invertX:function(n){return(n-this.x)/this.k},invertY:function(n){return(n-this.y)/this.k},rescaleX:function(n){return n.copy().domain(n.range().map(this.invertX,this).map(n.invert,n))},rescaleY:function(n){return n.copy().domain(n.range().map(this.invertY,this).map(n.invert,n))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var T3=new Rg(1,0,0);Hge.prototype=Rg.prototype;function Hge(n){for(;!n.__zoom;)if(!(n=n.parentNode))return T3;return n.__zoom}function f6(n){n.stopImmediatePropagation()}function NL(n){n.preventDefault(),n.stopImmediatePropagation()}function MTe(n){return(!n.ctrlKey||n.type==="wheel")&&!n.button}function ATe(){var n=this;return n instanceof SVGElement?(n=n.ownerSVGElement||n,n.hasAttribute("viewBox")?(n=n.viewBox.baseVal,[[n.x,n.y],[n.x+n.width,n.y+n.height]]):[[0,0],[n.width.baseVal.value,n.height.baseVal.value]]):[[0,0],[n.clientWidth,n.clientHeight]]}function hie(){return this.__zoom||T3}function PTe(n){return-n.deltaY*(n.deltaMode===1?.05:n.deltaMode?1:.002)*(n.ctrlKey?10:1)}function OTe(){return navigator.maxTouchPoints||"ontouchstart"in this}function FTe(n,e,t){var i=n.invertX(e[0][0])-t[0][0],s=n.invertX(e[1][0])-t[1][0],o=n.invertY(e[0][1])-t[0][1],r=n.invertY(e[1][1])-t[1][1];return n.translate(s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s),r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r))}function Vge(){var n=MTe,e=ATe,t=FTe,i=PTe,s=OTe,o=[0,1/0],r=[[-1/0,-1/0],[1/0,1/0]],a=250,l=wM,c=N3("start","zoom","end"),d,u,h,f=500,g=150,p=0,_=10;function b(O){O.property("__zoom",hie).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",T).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",P).on("touchend.zoom touchcancel.zoom",V).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(O,A,z,U){var W=O.selection?O.selection():O;W.property("__zoom",hie),O!==W?S(O,A,z,U):W.interrupt().each(function(){x(this,arguments).event(U).start().zoom(null,typeof A=="function"?A.apply(this,arguments):A).end()})},b.scaleBy=function(O,A,z,U){b.scaleTo(O,function(){var W=this.__zoom.k,F=typeof A=="function"?A.apply(this,arguments):A;return W*F},z,U)},b.scaleTo=function(O,A,z,U){b.transform(O,function(){var W=e.apply(this,arguments),F=this.__zoom,q=z==null?y(W):typeof z=="function"?z.apply(this,arguments):z,X=F.invert(q),Q=typeof A=="function"?A.apply(this,arguments):A;return t(C(v(F,Q),q,X),W,r)},z,U)},b.translateBy=function(O,A,z,U){b.transform(O,function(){return t(this.__zoom.translate(typeof A=="function"?A.apply(this,arguments):A,typeof z=="function"?z.apply(this,arguments):z),e.apply(this,arguments),r)},null,U)},b.translateTo=function(O,A,z,U,W){b.transform(O,function(){var F=e.apply(this,arguments),q=this.__zoom,X=U==null?y(F):typeof U=="function"?U.apply(this,arguments):U;return t(T3.translate(X[0],X[1]).scale(q.k).translate(typeof A=="function"?-A.apply(this,arguments):-A,typeof z=="function"?-z.apply(this,arguments):-z),F,r)},U,W)};function v(O,A){return A=Math.max(o[0],Math.min(o[1],A)),A===O.k?O:new Rg(A,O.x,O.y)}function C(O,A,z){var U=A[0]-z[0]*O.k,W=A[1]-z[1]*O.k;return U===O.x&&W===O.y?O:new Rg(O.k,U,W)}function y(O){return[(+O[0][0]+ +O[1][0])/2,(+O[0][1]+ +O[1][1])/2]}function S(O,A,z,U){O.on("start.zoom",function(){x(this,arguments).event(U).start()}).on("interrupt.zoom end.zoom",function(){x(this,arguments).event(U).end()}).tween("zoom",function(){var W=this,F=arguments,q=x(W,F).event(U),X=e.apply(W,F),Q=z==null?y(X):typeof z=="function"?z.apply(W,F):z,oe=Math.max(X[1][0]-X[0][0],X[1][1]-X[0][1]),ge=W.__zoom,ye=typeof A=="function"?A.apply(W,F):A,$e=l(ge.invert(Q).concat(oe/ge.k),ye.invert(Q).concat(oe/ye.k));return function(Ze){if(Ze===1)Ze=ye;else{var Ee=$e(Ze),Je=oe/Ee[2];Ze=new Rg(Je,Q[0]-Ee[0]*Je,Q[1]-Ee[1]*Je)}q.zoom(null,Ze)}})}function x(O,A,z){return!z&&O.__zooming||new L(O,A)}function L(O,A){this.that=O,this.args=A,this.active=0,this.sourceEvent=null,this.extent=e.apply(O,A),this.taps=0}L.prototype={event:function(O){return O&&(this.sourceEvent=O),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(O,A){return this.mouse&&O!=="mouse"&&(this.mouse[1]=A.invert(this.mouse[0])),this.touch0&&O!=="touch"&&(this.touch0[1]=A.invert(this.touch0[0])),this.touch1&&O!=="touch"&&(this.touch1[1]=A.invert(this.touch1[0])),this.that.__zoom=A,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(O){var A=Lc(this.that).datum();c.call(O,this.that,new RTe(O,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:c}),A)}};function k(O,...A){if(!n.apply(this,arguments))return;var z=x(this,A).event(O),U=this.__zoom,W=Math.max(o[0],Math.min(o[1],U.k*Math.pow(2,i.apply(this,arguments)))),F=hu(O);if(z.wheel)(z.mouse[0][0]!==F[0]||z.mouse[0][1]!==F[1])&&(z.mouse[1]=U.invert(z.mouse[0]=F)),clearTimeout(z.wheel);else{if(U.k===W)return;z.mouse=[F,U.invert(F)],SM(this),z.start()}NL(O),z.wheel=setTimeout(q,g),z.zoom("mouse",t(C(v(U,W),z.mouse[0],z.mouse[1]),z.extent,r));function q(){z.wheel=null,z.end()}}function N(O,...A){if(h||!n.apply(this,arguments))return;var z=O.currentTarget,U=x(this,A,!0).event(O),W=Lc(O.view).on("mousemove.zoom",Q,!0).on("mouseup.zoom",oe,!0),F=hu(O,z),q=O.clientX,X=O.clientY;xge(O.view),f6(O),U.mouse=[F,this.__zoom.invert(F)],SM(this),U.start();function Q(ge){if(NL(ge),!U.moved){var ye=ge.clientX-q,$e=ge.clientY-X;U.moved=ye*ye+$e*$e>p}U.event(ge).zoom("mouse",t(C(U.that.__zoom,U.mouse[0]=hu(ge,z),U.mouse[1]),U.extent,r))}function oe(ge){W.on("mousemove.zoom mouseup.zoom",null),Lge(ge.view,U.moved),NL(ge),U.event(ge).end()}}function T(O,...A){if(n.apply(this,arguments)){var z=this.__zoom,U=hu(O.changedTouches?O.changedTouches[0]:O,this),W=z.invert(U),F=z.k*(O.shiftKey?.5:2),q=t(C(v(z,F),U,W),e.apply(this,A),r);NL(O),a>0?Lc(this).transition().duration(a).call(S,q,U,O):Lc(this).call(b.transform,q,U,O)}}function M(O,...A){if(n.apply(this,arguments)){var z=O.touches,U=z.length,W=x(this,A,O.changedTouches.length===U).event(O),F,q,X,Q;for(f6(O),q=0;q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:n=>`Node type "${n}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:n=>`The old edge with id=${n} does not exist.`,error009:n=>`Marker type "${n}" doesn't exist.`,error008:(n,{id:e,sourceHandle:t,targetHandle:i})=>`Couldn't create edge for ${n} handle id: "${n==="source"?t:i}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:n=>`Edge type "${n}" not found. Using fallback type "default".`,error012:n=>`Node with id "${n}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(n="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${n}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},WE=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],jge=["Enter"," ","Escape"],zge={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:n,x:e,y:t})=>`Moved selected node ${n}. New position, x: ${e}, y: ${t}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var US;(function(n){n.Strict="strict",n.Loose="loose"})(US||(US={}));var c1;(function(n){n.Free="free",n.Vertical="vertical",n.Horizontal="horizontal"})(c1||(c1={}));var HE;(function(n){n.Partial="partial",n.Full="full"})(HE||(HE={}));const $ge={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var yg;(function(n){n.Bezier="default",n.Straight="straight",n.Step="step",n.SmoothStep="smoothstep",n.SimpleBezier="simplebezier"})(yg||(yg={}));var T0;(function(n){n.Arrow="arrow",n.ArrowClosed="arrowclosed"})(T0||(T0={}));var Wt;(function(n){n.Left="left",n.Top="top",n.Right="right",n.Bottom="bottom"})(Wt||(Wt={}));const fie={[Wt.Left]:Wt.Right,[Wt.Right]:Wt.Left,[Wt.Top]:Wt.Bottom,[Wt.Bottom]:Wt.Top};function Uge(n){return n===null?null:n?"valid":"invalid"}const qge=n=>"id"in n&&"source"in n&&"target"in n,BTe=n=>"id"in n&&"position"in n&&!("source"in n)&&!("target"in n),WY=n=>"id"in n&&"internals"in n&&!("source"in n)&&!("target"in n),qD=(n,e=[0,0])=>{const{width:t,height:i}=Bp(n),s=n.origin??e,o=t*s[0],r=i*s[1];return{x:n.position.x-o,y:n.position.y-r}},WTe=(n,e={nodeOrigin:[0,0]})=>{if(n.length===0)return{x:0,y:0,width:0,height:0};const t=n.reduce((i,s)=>{const o=typeof s=="string";let r=!e.nodeLookup&&!o?s:void 0;e.nodeLookup&&(r=o?e.nodeLookup.get(s):WY(s)?s:e.nodeLookup.get(s.id));const a=r?GA(r,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return R3(i,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return M3(t)},KD=(n,e={})=>{let t={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return n.forEach(s=>{(e.filter===void 0||e.filter(s))&&(t=R3(t,GA(s)),i=!0)}),i?M3(t):{x:0,y:0,width:0,height:0}},HY=(n,e,[t,i,s]=[0,0,1],o=!1,r=!1)=>{const a={...YD(e,[t,i,s]),width:e.width/s,height:e.height/s},l=[];for(const c of n.values()){const{measured:d,selectable:u=!0,hidden:h=!1}=c;if(r&&!u||h)continue;const f=d.width??c.width??c.initialWidth??null,g=d.height??c.height??c.initialHeight??null,p=VE(a,KS(c)),_=(f??0)*(g??0),b=o&&p>0;(!c.internals.handleBounds||b||p>=_||c.dragging)&&l.push(c)}return l},HTe=(n,e)=>{const t=new Set;return n.forEach(i=>{t.add(i.id)}),e.filter(i=>t.has(i.source)||t.has(i.target))};function VTe(n,e){const t=new Map,i=e!=null&&e.nodes?new Set(e.nodes.map(s=>s.id)):null;return n.forEach(s=>{s.measured.width&&s.measured.height&&((e==null?void 0:e.includeHiddenNodes)||!s.hidden)&&(!i||i.has(s.id))&&t.set(s.id,s)}),t}async function jTe({nodes:n,width:e,height:t,panZoom:i,minZoom:s,maxZoom:o},r){if(n.size===0)return Promise.resolve(!0);const a=VTe(n,r),l=KD(a),c=VY(l,e,t,(r==null?void 0:r.minZoom)??s,(r==null?void 0:r.maxZoom)??o,(r==null?void 0:r.padding)??.1);return await i.setViewport(c,{duration:r==null?void 0:r.duration,ease:r==null?void 0:r.ease,interpolate:r==null?void 0:r.interpolate}),Promise.resolve(!0)}function Kge({nodeId:n,nextPosition:e,nodeLookup:t,nodeOrigin:i=[0,0],nodeExtent:s,onError:o}){const r=t.get(n),a=r.parentId?t.get(r.parentId):void 0,{x:l,y:c}=a?a.internals.positionAbsolute:{x:0,y:0},d=r.origin??i;let u=r.extent||s;if(r.extent==="parent"&&!r.expandParent)if(!a)o==null||o("005",df.error005());else{const f=a.measured.width,g=a.measured.height;f&&g&&(u=[[l,c],[l+f,c+g]])}else a&&GS(r.extent)&&(u=[[r.extent[0][0]+l,r.extent[0][1]+c],[r.extent[1][0]+l,r.extent[1][1]+c]]);const h=GS(u)?R0(e,u,r.measured):e;return(r.measured.width===void 0||r.measured.height===void 0)&&(o==null||o("015",df.error015())),{position:{x:h.x-l+(r.measured.width??0)*d[0],y:h.y-c+(r.measured.height??0)*d[1]},positionAbsolute:h}}async function zTe({nodesToRemove:n=[],edgesToRemove:e=[],nodes:t,edges:i,onBeforeDelete:s}){const o=new Set(n.map(h=>h.id)),r=[];for(const h of t){if(h.deletable===!1)continue;const f=o.has(h.id),g=!f&&h.parentId&&r.find(p=>p.id===h.parentId);(f||g)&&r.push(h)}const a=new Set(e.map(h=>h.id)),l=i.filter(h=>h.deletable!==!1),d=HTe(r,l);for(const h of l)a.has(h.id)&&!d.find(g=>g.id===h.id)&&d.push(h);if(!s)return{edges:d,nodes:r};const u=await s({nodes:r,edges:d});return typeof u=="boolean"?u?{edges:d,nodes:r}:{edges:[],nodes:[]}:u}const qS=(n,e=0,t=1)=>Math.min(Math.max(n,e),t),R0=(n={x:0,y:0},e,t)=>({x:qS(n.x,e[0][0],e[1][0]-((t==null?void 0:t.width)??0)),y:qS(n.y,e[0][1],e[1][1]-((t==null?void 0:t.height)??0))});function Gge(n,e,t){const{width:i,height:s}=Bp(t),{x:o,y:r}=t.internals.positionAbsolute;return R0(n,[[o,r],[o+i,r+s]],e)}const gie=(n,e,t)=>nt?-qS(Math.abs(n-t),1,e)/e:0,Yge=(n,e,t=15,i=40)=>{const s=gie(n.x,i,e.width-i)*t,o=gie(n.y,i,e.height-i)*t;return[s,o]},R3=(n,e)=>({x:Math.min(n.x,e.x),y:Math.min(n.y,e.y),x2:Math.max(n.x2,e.x2),y2:Math.max(n.y2,e.y2)}),aH=({x:n,y:e,width:t,height:i})=>({x:n,y:e,x2:n+t,y2:e+i}),M3=({x:n,y:e,x2:t,y2:i})=>({x:n,y:e,width:t-n,height:i-e}),KS=(n,e=[0,0])=>{var s,o;const{x:t,y:i}=WY(n)?n.internals.positionAbsolute:qD(n,e);return{x:t,y:i,width:((s=n.measured)==null?void 0:s.width)??n.width??n.initialWidth??0,height:((o=n.measured)==null?void 0:o.height)??n.height??n.initialHeight??0}},GA=(n,e=[0,0])=>{var s,o;const{x:t,y:i}=WY(n)?n.internals.positionAbsolute:qD(n,e);return{x:t,y:i,x2:t+(((s=n.measured)==null?void 0:s.width)??n.width??n.initialWidth??0),y2:i+(((o=n.measured)==null?void 0:o.height)??n.height??n.initialHeight??0)}},Zge=(n,e)=>M3(R3(aH(n),aH(e))),VE=(n,e)=>{const t=Math.max(0,Math.min(n.x+n.width,e.x+e.width)-Math.max(n.x,e.x)),i=Math.max(0,Math.min(n.y+n.height,e.y+e.height)-Math.max(n.y,e.y));return Math.ceil(t*i)},pie=n=>ku(n.width)&&ku(n.height)&&ku(n.x)&&ku(n.y),ku=n=>!isNaN(n)&&isFinite(n),$Te=(n,e)=>{},GD=(n,e=[1,1])=>({x:e[0]*Math.round(n.x/e[0]),y:e[1]*Math.round(n.y/e[1])}),YD=({x:n,y:e},[t,i,s],o=!1,r=[1,1])=>{const a={x:(n-t)/s,y:(e-i)/s};return o?GD(a,r):a},YA=({x:n,y:e},[t,i,s])=>({x:n*s+t,y:e*s+i});function $w(n,e){if(typeof n=="number")return Math.floor((e-e/(1+n))*.5);if(typeof n=="string"&&n.endsWith("px")){const t=parseFloat(n);if(!Number.isNaN(t))return Math.floor(t)}if(typeof n=="string"&&n.endsWith("%")){const t=parseFloat(n);if(!Number.isNaN(t))return Math.floor(e*t*.01)}return console.error(`[React Flow] The padding value "${n}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function UTe(n,e,t){if(typeof n=="string"||typeof n=="number"){const i=$w(n,t),s=$w(n,e);return{top:i,right:s,bottom:i,left:s,x:s*2,y:i*2}}if(typeof n=="object"){const i=$w(n.top??n.y??0,t),s=$w(n.bottom??n.y??0,t),o=$w(n.left??n.x??0,e),r=$w(n.right??n.x??0,e);return{top:i,right:r,bottom:s,left:o,x:o+r,y:i+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function qTe(n,e,t,i,s,o){const{x:r,y:a}=YA(n,[e,t,i]),{x:l,y:c}=YA({x:n.x+n.width,y:n.y+n.height},[e,t,i]),d=s-l,u=o-c;return{left:Math.floor(r),top:Math.floor(a),right:Math.floor(d),bottom:Math.floor(u)}}const VY=(n,e,t,i,s,o)=>{const r=UTe(o,e,t),a=(e-r.x)/n.width,l=(t-r.y)/n.height,c=Math.min(a,l),d=qS(c,i,s),u=n.x+n.width/2,h=n.y+n.height/2,f=e/2-u*d,g=t/2-h*d,p=qTe(n,f,g,d,e,t),_={left:Math.min(p.left-r.left,0),top:Math.min(p.top-r.top,0),right:Math.min(p.right-r.right,0),bottom:Math.min(p.bottom-r.bottom,0)};return{x:f-_.left+_.right,y:g-_.top+_.bottom,zoom:d}},jE=()=>{var n;return typeof navigator<"u"&&((n=navigator==null?void 0:navigator.userAgent)==null?void 0:n.indexOf("Mac"))>=0};function GS(n){return n!=null&&n!=="parent"}function Bp(n){var e,t;return{width:((e=n.measured)==null?void 0:e.width)??n.width??n.initialWidth??0,height:((t=n.measured)==null?void 0:t.height)??n.height??n.initialHeight??0}}function Xge(n){var e,t;return(((e=n.measured)==null?void 0:e.width)??n.width??n.initialWidth)!==void 0&&(((t=n.measured)==null?void 0:t.height)??n.height??n.initialHeight)!==void 0}function Qge(n,e={width:0,height:0},t,i,s){const o={...n},r=i.get(t);if(r){const a=r.origin||s;o.x+=r.internals.positionAbsolute.x-(e.width??0)*a[0],o.y+=r.internals.positionAbsolute.y-(e.height??0)*a[1]}return o}function mie(n,e){if(n.size!==e.size)return!1;for(const t of n)if(!e.has(t))return!1;return!0}function KTe(){let n,e;return{promise:new Promise((i,s)=>{n=i,e=s}),resolve:n,reject:e}}function GTe(n){return{...zge,...n||{}}}function Jk(n,{snapGrid:e=[0,0],snapToGrid:t=!1,transform:i,containerBounds:s}){const{x:o,y:r}=Nu(n),a=YD({x:o-((s==null?void 0:s.left)??0),y:r-((s==null?void 0:s.top)??0)},i),{x:l,y:c}=t?GD(a,e):a;return{xSnapped:l,ySnapped:c,...a}}const jY=n=>({width:n.offsetWidth,height:n.offsetHeight}),Jge=n=>{var e;return((e=n==null?void 0:n.getRootNode)==null?void 0:e.call(n))||(window==null?void 0:window.document)},YTe=["INPUT","SELECT","TEXTAREA"];function epe(n){var i,s;const e=((s=(i=n.composedPath)==null?void 0:i.call(n))==null?void 0:s[0])||n.target;return(e==null?void 0:e.nodeType)!==1?!1:YTe.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}const tpe=n=>"clientX"in n,Nu=(n,e)=>{var o,r;const t=tpe(n),i=t?n.clientX:(o=n.touches)==null?void 0:o[0].clientX,s=t?n.clientY:(r=n.touches)==null?void 0:r[0].clientY;return{x:i-((e==null?void 0:e.left)??0),y:s-((e==null?void 0:e.top)??0)}},_ie=(n,e,t,i,s)=>{const o=e.querySelectorAll(`.${n}`);return!o||!o.length?null:Array.from(o).map(r=>{const a=r.getBoundingClientRect();return{id:r.getAttribute("data-handleid"),type:n,nodeId:s,position:r.getAttribute("data-handlepos"),x:(a.left-t.left)/i,y:(a.top-t.top)/i,...jY(r)}})};function ipe({sourceX:n,sourceY:e,targetX:t,targetY:i,sourceControlX:s,sourceControlY:o,targetControlX:r,targetControlY:a}){const l=n*.125+s*.375+r*.375+t*.125,c=e*.125+o*.375+a*.375+i*.125,d=Math.abs(l-n),u=Math.abs(c-e);return[l,c,d,u]}function v2(n,e){return n>=0?.5*n:e*25*Math.sqrt(-n)}function bie({pos:n,x1:e,y1:t,x2:i,y2:s,c:o}){switch(n){case Wt.Left:return[e-v2(e-i,o),t];case Wt.Right:return[e+v2(i-e,o),t];case Wt.Top:return[e,t-v2(t-s,o)];case Wt.Bottom:return[e,t+v2(s-t,o)]}}function npe({sourceX:n,sourceY:e,sourcePosition:t=Wt.Bottom,targetX:i,targetY:s,targetPosition:o=Wt.Top,curvature:r=.25}){const[a,l]=bie({pos:t,x1:n,y1:e,x2:i,y2:s,c:r}),[c,d]=bie({pos:o,x1:i,y1:s,x2:n,y2:e,c:r}),[u,h,f,g]=ipe({sourceX:n,sourceY:e,targetX:i,targetY:s,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:d});return[`M${n},${e} C${a},${l} ${c},${d} ${i},${s}`,u,h,f,g]}function spe({sourceX:n,sourceY:e,targetX:t,targetY:i}){const s=Math.abs(t-n)/2,o=t0}const QTe=({source:n,sourceHandle:e,target:t,targetHandle:i})=>`xy-edge__${n}${e||""}-${t}${i||""}`,JTe=(n,e)=>e.some(t=>t.source===n.source&&t.target===n.target&&(t.sourceHandle===n.sourceHandle||!t.sourceHandle&&!n.sourceHandle)&&(t.targetHandle===n.targetHandle||!t.targetHandle&&!n.targetHandle)),e2e=(n,e,t={})=>{if(!n.source||!n.target)return e;const i=t.getEdgeId||QTe;let s;return qge(n)?s={...n}:s={...n,id:i(n)},JTe(s,e)?e:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,e.concat(s))};function ope({sourceX:n,sourceY:e,targetX:t,targetY:i}){const[s,o,r,a]=spe({sourceX:n,sourceY:e,targetX:t,targetY:i});return[`M ${n},${e}L ${t},${i}`,s,o,r,a]}const vie={[Wt.Left]:{x:-1,y:0},[Wt.Right]:{x:1,y:0},[Wt.Top]:{x:0,y:-1},[Wt.Bottom]:{x:0,y:1}},t2e=({source:n,sourcePosition:e=Wt.Bottom,target:t})=>e===Wt.Left||e===Wt.Right?n.xMath.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2));function i2e({source:n,sourcePosition:e=Wt.Bottom,target:t,targetPosition:i=Wt.Top,center:s,offset:o,stepPosition:r}){const a=vie[e],l=vie[i],c={x:n.x+a.x*o,y:n.y+a.y*o},d={x:t.x+l.x*o,y:t.y+l.y*o},u=t2e({source:c,sourcePosition:e,target:d}),h=u.x!==0?"x":"y",f=u[h];let g=[],p,_;const b={x:0,y:0},v={x:0,y:0},[,,C,y]=spe({sourceX:n.x,sourceY:n.y,targetX:t.x,targetY:t.y});if(a[h]*l[h]===-1){h==="x"?(p=s.x??c.x+(d.x-c.x)*r,_=s.y??(c.y+d.y)/2):(p=s.x??(c.x+d.x)/2,_=s.y??c.y+(d.y-c.y)*r);const k=[{x:p,y:c.y},{x:p,y:d.y}],N=[{x:c.x,y:_},{x:d.x,y:_}];a[h]===f?g=h==="x"?k:N:g=h==="x"?N:k}else{const k=[{x:c.x,y:d.y}],N=[{x:d.x,y:c.y}];if(h==="x"?g=a.x===f?N:k:g=a.y===f?k:N,e===i){const O=Math.abs(n[h]-t[h]);if(O<=o){const A=Math.min(o-1,o-O);a[h]===f?b[h]=(c[h]>n[h]?-1:1)*A:v[h]=(d[h]>t[h]?-1:1)*A}}if(e!==i){const O=h==="x"?"y":"x",A=a[h]===l[O],z=c[O]>d[O],U=c[O]=V?(p=(T.x+M.x)/2,_=g[0].y):(p=g[0].x,_=(T.y+M.y)/2)}const S={x:c.x+b.x,y:c.y+b.y},x={x:d.x+v.x,y:d.y+v.y};return[[n,...S.x!==g[0].x||S.y!==g[0].y?[S]:[],...g,...x.x!==g[g.length-1].x||x.y!==g[g.length-1].y?[x]:[],t],p,_,C,y]}function n2e(n,e,t,i){const s=Math.min(wie(n,e)/2,wie(e,t)/2,i),{x:o,y:r}=e;if(n.x===o&&o===t.x||n.y===r&&r===t.y)return`L${o} ${r}`;if(n.y===r){const c=n.xt.id===e):n[0])||null}function cH(n,e){return n?typeof n=="string"?n:`${e?`${e}__`:""}${Object.keys(n).sort().map(i=>`${i}=${n[i]}`).join("&")}`:""}function o2e(n,{id:e,defaultColor:t,defaultMarkerStart:i,defaultMarkerEnd:s}){const o=new Set;return n.reduce((r,a)=>([a.markerStart||i,a.markerEnd||s].forEach(l=>{if(l&&typeof l=="object"){const c=cH(l,e);o.has(c)||(r.push({id:c,color:l.color||t,...l}),o.add(c))}}),r),[]).sort((r,a)=>r.id.localeCompare(a.id))}const rpe=1e3,r2e=10,zY={nodeOrigin:[0,0],nodeExtent:WE,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},a2e={...zY,checkEquality:!0};function $Y(n,e){const t={...n};for(const i in e)e[i]!==void 0&&(t[i]=e[i]);return t}function l2e(n,e,t){const i=$Y(zY,t);for(const s of n.values())if(s.parentId)qY(s,n,e,i);else{const o=qD(s,i.nodeOrigin),r=GS(s.extent)?s.extent:i.nodeExtent,a=R0(o,r,Bp(s));s.internals.positionAbsolute=a}}function c2e(n,e){if(!n.handles)return n.measured?e==null?void 0:e.internals.handleBounds:void 0;const t=[],i=[];for(const s of n.handles){const o={id:s.id,width:s.width??1,height:s.height??1,nodeId:n.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?t.push(o):s.type==="target"&&i.push(o)}return{source:t,target:i}}function UY(n){return n==="manual"}function dH(n,e,t,i={}){var d,u;const s=$Y(a2e,i),o={i:0},r=new Map(e),a=s!=null&&s.elevateNodesOnSelect&&!UY(s.zIndexMode)?rpe:0;let l=n.length>0,c=!1;e.clear(),t.clear();for(const h of n){let f=r.get(h.id);if(s.checkEquality&&h===(f==null?void 0:f.internals.userNode))e.set(h.id,f);else{const g=qD(h,s.nodeOrigin),p=GS(h.extent)?h.extent:s.nodeExtent,_=R0(g,p,Bp(h));f={...s.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(u=h.measured)==null?void 0:u.height},internals:{positionAbsolute:_,handleBounds:c2e(h,f),z:ape(h,a,s.zIndexMode),userNode:h}},e.set(h.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(l=!1),h.parentId&&qY(f,e,t,i,o),c||(c=h.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:c}}function d2e(n,e){if(!n.parentId)return;const t=e.get(n.parentId);t?t.set(n.id,n):e.set(n.parentId,new Map([[n.id,n]]))}function qY(n,e,t,i,s){const{elevateNodesOnSelect:o,nodeOrigin:r,nodeExtent:a,zIndexMode:l}=$Y(zY,i),c=n.parentId,d=e.get(c);if(!d){console.warn(`Parent node ${c} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}d2e(n,t),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*r2e),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const u=o&&!UY(l)?rpe:0,{x:h,y:f,z:g}=u2e(n,d,r,a,u,l),{positionAbsolute:p}=n.internals,_=h!==p.x||f!==p.y;(_||g!==n.internals.z)&&e.set(n.id,{...n,internals:{...n.internals,positionAbsolute:_?{x:h,y:f}:p,z:g}})}function ape(n,e,t){const i=ku(n.zIndex)?n.zIndex:0;return UY(t)?i:i+(n.selected?e:0)}function u2e(n,e,t,i,s,o){const{x:r,y:a}=e.internals.positionAbsolute,l=Bp(n),c=qD(n,t),d=GS(n.extent)?R0(c,n.extent,l):c;let u=R0({x:r+d.x,y:a+d.y},i,l);n.extent==="parent"&&(u=Gge(u,l,e));const h=ape(n,s,o),f=e.internals.z??0;return{x:u.x,y:u.y,z:f>=h?f+1:h}}function KY(n,e,t,i=[0,0]){var r;const s=[],o=new Map;for(const a of n){const l=e.get(a.parentId);if(!l)continue;const c=((r=o.get(a.parentId))==null?void 0:r.expandedRect)??KS(l),d=Zge(c,a.rect);o.set(a.parentId,{expandedRect:d,parent:l})}return o.size>0&&o.forEach(({expandedRect:a,parent:l},c)=>{var C;const d=l.internals.positionAbsolute,u=Bp(l),h=l.origin??i,f=a.x0||g>0||b||v)&&(s.push({id:c,type:"position",position:{x:l.position.x-f+b,y:l.position.y-g+v}}),(C=t.get(c))==null||C.forEach(y=>{n.some(S=>S.id===y.id)||s.push({id:y.id,type:"position",position:{x:y.position.x+f,y:y.position.y+g}})})),(u.width0){const f=KY(h,e,t,s);c.push(...f)}return{changes:c,updatedInternals:l}}async function f2e({delta:n,panZoom:e,transform:t,translateExtent:i,width:s,height:o}){if(!e||!n.x&&!n.y)return Promise.resolve(!1);const r=await e.setViewportConstrained({x:t[0]+n.x,y:t[1]+n.y,zoom:t[2]},[[0,0],[s,o]],i),a=!!r&&(r.x!==t[0]||r.y!==t[1]||r.k!==t[2]);return Promise.resolve(a)}function xie(n,e,t,i,s,o){let r=s;const a=i.get(r)||new Map;i.set(r,a.set(t,e)),r=`${s}-${n}`;const l=i.get(r)||new Map;if(i.set(r,l.set(t,e)),o){r=`${s}-${n}-${o}`;const c=i.get(r)||new Map;i.set(r,c.set(t,e))}}function lpe(n,e,t){n.clear(),e.clear();for(const i of t){const{source:s,target:o,sourceHandle:r=null,targetHandle:a=null}=i,l={edgeId:i.id,source:s,target:o,sourceHandle:r,targetHandle:a},c=`${s}-${r}--${o}-${a}`,d=`${o}-${a}--${s}-${r}`;xie("source",l,d,n,s,r),xie("target",l,c,n,o,a),e.set(i.id,i)}}function cpe(n,e){if(!n.parentId)return!1;const t=e.get(n.parentId);return t?t.selected?!0:cpe(t,e):!1}function Lie(n,e,t){var s;let i=n;do{if((s=i==null?void 0:i.matches)!=null&&s.call(i,e))return!0;if(i===t)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function g2e(n,e,t,i){const s=new Map;for(const[o,r]of n)if((r.selected||r.id===i)&&(!r.parentId||!cpe(r,n))&&(r.draggable||e&&typeof r.draggable>"u")){const a=n.get(o);a&&s.set(o,{id:o,position:a.position||{x:0,y:0},distance:{x:t.x-a.internals.positionAbsolute.x,y:t.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return s}function g6({nodeId:n,dragItems:e,nodeLookup:t,dragging:i=!0}){var r,a,l;const s=[];for(const[c,d]of e){const u=(r=t.get(c))==null?void 0:r.internals.userNode;u&&s.push({...u,position:d.position,dragging:i})}if(!n)return[s[0],s];const o=(a=t.get(n))==null?void 0:a.internals.userNode;return[o?{...o,position:((l=e.get(n))==null?void 0:l.position)||o.position,dragging:i}:s[0],s]}function p2e({dragItems:n,snapGrid:e,x:t,y:i}){const s=n.values().next().value;if(!s)return null;const o={x:t-s.distance.x,y:i-s.distance.y},r=GD(o,e);return{x:r.x-o.x,y:r.y-o.y}}function m2e({onNodeMouseDown:n,getStoreItems:e,onDragStart:t,onDrag:i,onDragStop:s}){let o={x:null,y:null},r=0,a=new Map,l=!1,c={x:0,y:0},d=null,u=!1,h=null,f=!1,g=!1,p=null;function _({noDragClassName:v,handleSelector:C,domNode:y,isSelectable:S,nodeId:x,nodeClickDistance:L=0}){h=Lc(y);function k({x:P,y:V}){const{nodeLookup:O,nodeExtent:A,snapGrid:z,snapToGrid:U,nodeOrigin:W,onNodeDrag:F,onSelectionDrag:q,onError:X,updateNodePositions:Q}=e();o={x:P,y:V};let oe=!1;const ge=a.size>1,ye=ge&&A?aH(KD(a)):null,$e=ge&&U?p2e({dragItems:a,snapGrid:z,x:P,y:V}):null;for(const[Ze,Ee]of a){if(!O.has(Ze))continue;let Je={x:P-Ee.distance.x,y:V-Ee.distance.y};U&&(Je=$e?{x:Math.round(Je.x+$e.x),y:Math.round(Je.y+$e.y)}:GD(Je,z));let lt=null;if(ge&&A&&!Ee.extent&&ye){const{positionAbsolute:Re}=Ee.internals,gt=Re.x-ye.x+A[0][0],si=Re.x+Ee.measured.width-ye.x2+A[1][0],Ke=Re.y-ye.y+A[0][1],ri=Re.y+Ee.measured.height-ye.y2+A[1][1];lt=[[gt,Ke],[si,ri]]}const{position:Ct,positionAbsolute:Oe}=Kge({nodeId:Ze,nextPosition:Je,nodeLookup:O,nodeExtent:lt||A,nodeOrigin:W,onError:X});oe=oe||Ee.position.x!==Ct.x||Ee.position.y!==Ct.y,Ee.position=Ct,Ee.internals.positionAbsolute=Oe}if(g=g||oe,!!oe&&(Q(a,!0),p&&(i||F||!x&&q))){const[Ze,Ee]=g6({nodeId:x,dragItems:a,nodeLookup:O});i==null||i(p,a,Ze,Ee),F==null||F(p,Ze,Ee),x||q==null||q(p,Ee)}}async function N(){if(!d)return;const{transform:P,panBy:V,autoPanSpeed:O,autoPanOnNodeDrag:A}=e();if(!A){l=!1,cancelAnimationFrame(r);return}const[z,U]=Yge(c,d,O);(z!==0||U!==0)&&(o.x=(o.x??0)-z/P[2],o.y=(o.y??0)-U/P[2],await V({x:z,y:U})&&k(o)),r=requestAnimationFrame(N)}function T(P){var ge;const{nodeLookup:V,multiSelectionActive:O,nodesDraggable:A,transform:z,snapGrid:U,snapToGrid:W,selectNodesOnDrag:F,onNodeDragStart:q,onSelectionDragStart:X,unselectNodesAndEdges:Q}=e();u=!0,(!F||!S)&&!O&&x&&((ge=V.get(x))!=null&&ge.selected||Q()),S&&F&&x&&(n==null||n(x));const oe=Jk(P.sourceEvent,{transform:z,snapGrid:U,snapToGrid:W,containerBounds:d});if(o=oe,a=g2e(V,A,oe,x),a.size>0&&(t||q||!x&&X)){const[ye,$e]=g6({nodeId:x,dragItems:a,nodeLookup:V});t==null||t(P.sourceEvent,a,ye,$e),q==null||q(P.sourceEvent,ye,$e),x||X==null||X(P.sourceEvent,$e)}}const M=kge().clickDistance(L).on("start",P=>{const{domNode:V,nodeDragThreshold:O,transform:A,snapGrid:z,snapToGrid:U}=e();d=(V==null?void 0:V.getBoundingClientRect())||null,f=!1,g=!1,p=P.sourceEvent,O===0&&T(P),o=Jk(P.sourceEvent,{transform:A,snapGrid:z,snapToGrid:U,containerBounds:d}),c=Nu(P.sourceEvent,d)}).on("drag",P=>{const{autoPanOnNodeDrag:V,transform:O,snapGrid:A,snapToGrid:z,nodeDragThreshold:U,nodeLookup:W}=e(),F=Jk(P.sourceEvent,{transform:O,snapGrid:A,snapToGrid:z,containerBounds:d});if(p=P.sourceEvent,(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1||x&&!W.has(x))&&(f=!0),!f){if(!l&&V&&u&&(l=!0,N()),!u){const q=Nu(P.sourceEvent,d),X=q.x-c.x,Q=q.y-c.y;Math.sqrt(X*X+Q*Q)>U&&T(P)}(o.x!==F.xSnapped||o.y!==F.ySnapped)&&a&&u&&(c=Nu(P.sourceEvent,d),k(F))}}).on("end",P=>{if(!(!u||f)&&(l=!1,u=!1,cancelAnimationFrame(r),a.size>0)){const{nodeLookup:V,updateNodePositions:O,onNodeDragStop:A,onSelectionDragStop:z}=e();if(g&&(O(a,!1),g=!1),s||A||!x&&z){const[U,W]=g6({nodeId:x,dragItems:a,nodeLookup:V,dragging:!1});s==null||s(P.sourceEvent,a,U,W),A==null||A(P.sourceEvent,U,W),x||z==null||z(P.sourceEvent,W)}}}).filter(P=>{const V=P.target;return!P.button&&(!v||!Lie(V,`.${v}`,y))&&(!C||Lie(V,C,y))});h.call(M)}function b(){h==null||h.on(".drag",null)}return{update:_,destroy:b}}function _2e(n,e,t){const i=[],s={x:n.x-t,y:n.y-t,width:t*2,height:t*2};for(const o of e.values())VE(s,KS(o))>0&&i.push(o);return i}const b2e=250;function v2e(n,e,t,i){var a,l;let s=[],o=1/0;const r=_2e(n,t,e+b2e);for(const c of r){const d=[...((a=c.internals.handleBounds)==null?void 0:a.source)??[],...((l=c.internals.handleBounds)==null?void 0:l.target)??[]];for(const u of d){if(i.nodeId===u.nodeId&&i.type===u.type&&i.id===u.id)continue;const{x:h,y:f}=M0(c,u,u.position,!0),g=Math.sqrt(Math.pow(h-n.x,2)+Math.pow(f-n.y,2));g>e||(g1){const c=i.type==="source"?"target":"source";return s.find(d=>d.type===c)??s[0]}return s[0]}function dpe(n,e,t,i,s,o=!1){var c,d,u;const r=i.get(n);if(!r)return null;const a=s==="strict"?(c=r.internals.handleBounds)==null?void 0:c[e]:[...((d=r.internals.handleBounds)==null?void 0:d.source)??[],...((u=r.internals.handleBounds)==null?void 0:u.target)??[]],l=(t?a==null?void 0:a.find(h=>h.id===t):a==null?void 0:a[0])??null;return l&&o?{...l,...M0(r,l,l.position,!0)}:l}function upe(n,e){return n||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function w2e(n,e){let t=null;return e?t=!0:n&&!e&&(t=!1),t}const hpe=()=>!0;function C2e(n,{connectionMode:e,connectionRadius:t,handleId:i,nodeId:s,edgeUpdaterType:o,isTarget:r,domNode:a,nodeLookup:l,lib:c,autoPanOnConnect:d,flowId:u,panBy:h,cancelConnection:f,onConnectStart:g,onConnect:p,onConnectEnd:_,isValidConnection:b=hpe,onReconnectEnd:v,updateConnection:C,getTransform:y,getFromHandle:S,autoPanSpeed:x,dragThreshold:L=1,handleDomNode:k}){const N=Jge(n.target);let T=0,M;const{x:P,y:V}=Nu(n),O=upe(o,k),A=a==null?void 0:a.getBoundingClientRect();let z=!1;if(!A||!O)return;const U=dpe(s,O,i,l,e);if(!U)return;let W=Nu(n,A),F=!1,q=null,X=!1,Q=null;function oe(){if(!d||!A)return;const[Ct,Oe]=Yge(W,A,x);h({x:Ct,y:Oe}),T=requestAnimationFrame(oe)}const ge={...U,nodeId:s,type:O,position:U.position},ye=l.get(s);let Ze={inProgress:!0,isValid:null,from:M0(ye,ge,Wt.Left,!0),fromHandle:ge,fromPosition:ge.position,fromNode:ye,to:W,toHandle:null,toPosition:fie[ge.position],toNode:null,pointer:W};function Ee(){z=!0,C(Ze),g==null||g(n,{nodeId:s,handleId:i,handleType:O})}L===0&&Ee();function Je(Ct){if(!z){const{x:ri,y:Di}=Nu(Ct),Nn=ri-P,Ye=Di-V;if(!(Nn*Nn+Ye*Ye>L*L))return;Ee()}if(!S()||!ge){lt(Ct);return}const Oe=y();W=Nu(Ct,A),M=v2e(YD(W,Oe,!1,[1,1]),t,l,ge),F||(oe(),F=!0);const Re=fpe(Ct,{handle:M,connectionMode:e,fromNodeId:s,fromHandleId:i,fromType:r?"target":"source",isValidConnection:b,doc:N,lib:c,flowId:u,nodeLookup:l});Q=Re.handleDomNode,q=Re.connection,X=w2e(!!M,Re.isValid);const gt=l.get(s),si=gt?M0(gt,ge,Wt.Left,!0):Ze.from,Ke={...Ze,from:si,isValid:X,to:Re.toHandle&&X?YA({x:Re.toHandle.x,y:Re.toHandle.y},Oe):W,toHandle:Re.toHandle,toPosition:X&&Re.toHandle?Re.toHandle.position:fie[ge.position],toNode:Re.toHandle?l.get(Re.toHandle.nodeId):null,pointer:W};C(Ke),Ze=Ke}function lt(Ct){if(!("touches"in Ct&&Ct.touches.length>0)){if(z){(M||Q)&&q&&X&&(p==null||p(q));const{inProgress:Oe,...Re}=Ze,gt={...Re,toPosition:Ze.toHandle?Ze.toPosition:null};_==null||_(Ct,gt),o&&(v==null||v(Ct,gt))}f(),cancelAnimationFrame(T),F=!1,X=!1,q=null,Q=null,N.removeEventListener("mousemove",Je),N.removeEventListener("mouseup",lt),N.removeEventListener("touchmove",Je),N.removeEventListener("touchend",lt)}}N.addEventListener("mousemove",Je),N.addEventListener("mouseup",lt),N.addEventListener("touchmove",Je),N.addEventListener("touchend",lt)}function fpe(n,{handle:e,connectionMode:t,fromNodeId:i,fromHandleId:s,fromType:o,doc:r,lib:a,flowId:l,isValidConnection:c=hpe,nodeLookup:d}){const u=o==="target",h=e?r.querySelector(`.${a}-flow__handle[data-id="${l}-${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`):null,{x:f,y:g}=Nu(n),p=r.elementFromPoint(f,g),_=p!=null&&p.classList.contains(`${a}-flow__handle`)?p:h,b={handleDomNode:_,isValid:!1,connection:null,toHandle:null};if(_){const v=upe(void 0,_),C=_.getAttribute("data-nodeid"),y=_.getAttribute("data-handleid"),S=_.classList.contains("connectable"),x=_.classList.contains("connectableend");if(!C||!v)return b;const L={source:u?C:i,sourceHandle:u?y:s,target:u?i:C,targetHandle:u?s:y};b.connection=L;const N=S&&x&&(t===US.Strict?u&&v==="source"||!u&&v==="target":C!==i||y!==s);b.isValid=N&&c(L),b.toHandle=dpe(C,v,y,d,t,!0)}return b}const uH={onPointerDown:C2e,isValid:fpe};function y2e({domNode:n,panZoom:e,getTransform:t,getViewScale:i}){const s=Lc(n);function o({translateExtent:a,width:l,height:c,zoomStep:d=1,pannable:u=!0,zoomable:h=!0,inversePan:f=!1}){const g=C=>{if(C.sourceEvent.type!=="wheel"||!e)return;const y=t(),S=C.sourceEvent.ctrlKey&&jE()?10:1,x=-C.sourceEvent.deltaY*(C.sourceEvent.deltaMode===1?.05:C.sourceEvent.deltaMode?1:.002)*d,L=y[2]*Math.pow(2,x*S);e.scaleTo(L)};let p=[0,0];const _=C=>{(C.sourceEvent.type==="mousedown"||C.sourceEvent.type==="touchstart")&&(p=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY])},b=C=>{const y=t();if(C.sourceEvent.type!=="mousemove"&&C.sourceEvent.type!=="touchmove"||!e)return;const S=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY],x=[S[0]-p[0],S[1]-p[1]];p=S;const L=i()*Math.max(y[2],Math.log(y[2]))*(f?-1:1),k={x:y[0]-x[0]*L,y:y[1]-x[1]*L},N=[[0,0],[l,c]];e.setViewportConstrained({x:k.x,y:k.y,zoom:y[2]},N,a)},v=Vge().on("start",_).on("zoom",u?b:null).on("zoom.wheel",h?g:null);s.call(v,{})}function r(){s.on("zoom",null)}return{update:o,destroy:r,pointer:hu}}const A3=n=>({x:n.x,y:n.y,zoom:n.k}),p6=({x:n,y:e,zoom:t})=>T3.translate(n,e).scale(t),$C=(n,e)=>n.target.closest(`.${e}`),gpe=(n,e)=>e===2&&Array.isArray(n)&&n.includes(2),S2e=n=>((n*=2)<=1?n*n*n:(n-=2)*n*n+2)/2,m6=(n,e=0,t=S2e,i=()=>{})=>{const s=typeof e=="number"&&e>0;return s||i(),s?n.transition().duration(e).ease(t).on("end",i):n},ppe=n=>{const e=n.ctrlKey&&jE()?10:1;return-n.deltaY*(n.deltaMode===1?.05:n.deltaMode?1:.002)*e};function x2e({zoomPanValues:n,noWheelClassName:e,d3Selection:t,d3Zoom:i,panOnScrollMode:s,panOnScrollSpeed:o,zoomOnPinch:r,onPanZoomStart:a,onPanZoom:l,onPanZoomEnd:c}){return d=>{if($C(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const u=t.property("__zoom").k||1;if(d.ctrlKey&&r){const _=hu(d),b=ppe(d),v=u*Math.pow(2,b);i.scaleTo(t,v,_,d);return}const h=d.deltaMode===1?20:1;let f=s===c1.Vertical?0:d.deltaX*h,g=s===c1.Horizontal?0:d.deltaY*h;!jE()&&d.shiftKey&&s!==c1.Vertical&&(f=d.deltaY*h,g=0),i.translateBy(t,-(f/u)*o,-(g/u)*o,{internal:!0});const p=A3(t.property("__zoom"));clearTimeout(n.panScrollTimeout),n.isPanScrolling?(l==null||l(d,p),n.panScrollTimeout=setTimeout(()=>{c==null||c(d,p),n.isPanScrolling=!1},150)):(n.isPanScrolling=!0,a==null||a(d,p))}}function L2e({noWheelClassName:n,preventScrolling:e,d3ZoomHandler:t}){return function(i,s){const o=i.type==="wheel",r=!e&&o&&!i.ctrlKey,a=$C(i,n);if(i.ctrlKey&&o&&a&&i.preventDefault(),r||a)return null;i.preventDefault(),t.call(this,i,s)}}function k2e({zoomPanValues:n,onDraggingChange:e,onPanZoomStart:t}){return i=>{var o,r,a;if((o=i.sourceEvent)!=null&&o.internal)return;const s=A3(i.transform);n.mouseButton=((r=i.sourceEvent)==null?void 0:r.button)||0,n.isZoomingOrPanning=!0,n.prevViewport=s,((a=i.sourceEvent)==null?void 0:a.type)==="mousedown"&&e(!0),t&&(t==null||t(i.sourceEvent,s))}}function N2e({zoomPanValues:n,panOnDrag:e,onPaneContextMenu:t,onTransformChange:i,onPanZoom:s}){return o=>{var r,a;n.usedRightMouseButton=!!(t&&gpe(e,n.mouseButton??0)),(r=o.sourceEvent)!=null&&r.sync||i([o.transform.x,o.transform.y,o.transform.k]),s&&!((a=o.sourceEvent)!=null&&a.internal)&&(s==null||s(o.sourceEvent,A3(o.transform)))}}function E2e({zoomPanValues:n,panOnDrag:e,panOnScroll:t,onDraggingChange:i,onPanZoomEnd:s,onPaneContextMenu:o}){return r=>{var a;if(!((a=r.sourceEvent)!=null&&a.internal)&&(n.isZoomingOrPanning=!1,o&&gpe(e,n.mouseButton??0)&&!n.usedRightMouseButton&&r.sourceEvent&&o(r.sourceEvent),n.usedRightMouseButton=!1,i(!1),s)){const l=A3(r.transform);n.prevViewport=l,clearTimeout(n.timerId),n.timerId=setTimeout(()=>{s==null||s(r.sourceEvent,l)},t?150:0)}}}function I2e({zoomActivationKeyPressed:n,zoomOnScroll:e,zoomOnPinch:t,panOnDrag:i,panOnScroll:s,zoomOnDoubleClick:o,userSelectionActive:r,noWheelClassName:a,noPanClassName:l,lib:c,connectionInProgress:d}){return u=>{var _;const h=n||e,f=t&&u.ctrlKey,g=u.type==="wheel";if(u.button===1&&u.type==="mousedown"&&($C(u,`${c}-flow__node`)||$C(u,`${c}-flow__edge`)))return!0;if(!i&&!h&&!s&&!o&&!t||r||d&&!g||$C(u,a)&&g||$C(u,l)&&(!g||s&&g&&!n)||!t&&u.ctrlKey&&g)return!1;if(!t&&u.type==="touchstart"&&((_=u.touches)==null?void 0:_.length)>1)return u.preventDefault(),!1;if(!h&&!s&&!f&&g||!i&&(u.type==="mousedown"||u.type==="touchstart")||Array.isArray(i)&&!i.includes(u.button)&&u.type==="mousedown")return!1;const p=Array.isArray(i)&&i.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||g)&&p}}function D2e({domNode:n,minZoom:e,maxZoom:t,translateExtent:i,viewport:s,onPanZoom:o,onPanZoomStart:r,onPanZoomEnd:a,onDraggingChange:l}){const c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=n.getBoundingClientRect(),u=Vge().scaleExtent([e,t]).translateExtent(i),h=Lc(n).call(u);v({x:s.x,y:s.y,zoom:qS(s.zoom,e,t)},[[0,0],[d.width,d.height]],i);const f=h.on("wheel.zoom"),g=h.on("dblclick.zoom");u.wheelDelta(ppe);function p(M,P){return h?new Promise(V=>{u==null||u.interpolate((P==null?void 0:P.interpolate)==="linear"?Qk:wM).transform(m6(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>V(!0)),M)}):Promise.resolve(!1)}function _({noWheelClassName:M,noPanClassName:P,onPaneContextMenu:V,userSelectionActive:O,panOnScroll:A,panOnDrag:z,panOnScrollMode:U,panOnScrollSpeed:W,preventScrolling:F,zoomOnPinch:q,zoomOnScroll:X,zoomOnDoubleClick:Q,zoomActivationKeyPressed:oe,lib:ge,onTransformChange:ye,connectionInProgress:$e,paneClickDistance:Ze,selectionOnDrag:Ee}){O&&!c.isZoomingOrPanning&&b();const Je=A&&!oe&&!O;u.clickDistance(Ee?1/0:!ku(Ze)||Ze<0?0:Ze);const lt=Je?x2e({zoomPanValues:c,noWheelClassName:M,d3Selection:h,d3Zoom:u,panOnScrollMode:U,panOnScrollSpeed:W,zoomOnPinch:q,onPanZoomStart:r,onPanZoom:o,onPanZoomEnd:a}):L2e({noWheelClassName:M,preventScrolling:F,d3ZoomHandler:f});if(h.on("wheel.zoom",lt,{passive:!1}),!O){const Oe=k2e({zoomPanValues:c,onDraggingChange:l,onPanZoomStart:r});u.on("start",Oe);const Re=N2e({zoomPanValues:c,panOnDrag:z,onPaneContextMenu:!!V,onPanZoom:o,onTransformChange:ye});u.on("zoom",Re);const gt=E2e({zoomPanValues:c,panOnDrag:z,panOnScroll:A,onPaneContextMenu:V,onPanZoomEnd:a,onDraggingChange:l});u.on("end",gt)}const Ct=I2e({zoomActivationKeyPressed:oe,panOnDrag:z,zoomOnScroll:X,panOnScroll:A,zoomOnDoubleClick:Q,zoomOnPinch:q,userSelectionActive:O,noPanClassName:P,noWheelClassName:M,lib:ge,connectionInProgress:$e});u.filter(Ct),Q?h.on("dblclick.zoom",g):h.on("dblclick.zoom",null)}function b(){u.on("zoom",null)}async function v(M,P,V){const O=p6(M),A=u==null?void 0:u.constrain()(O,P,V);return A&&await p(A),new Promise(z=>z(A))}async function C(M,P){const V=p6(M);return await p(V,P),new Promise(O=>O(V))}function y(M){if(h){const P=p6(M),V=h.property("__zoom");(V.k!==M.zoom||V.x!==M.x||V.y!==M.y)&&(u==null||u.transform(h,P,null,{sync:!0}))}}function S(){const M=h?Hge(h.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}function x(M,P){return h?new Promise(V=>{u==null||u.interpolate((P==null?void 0:P.interpolate)==="linear"?Qk:wM).scaleTo(m6(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>V(!0)),M)}):Promise.resolve(!1)}function L(M,P){return h?new Promise(V=>{u==null||u.interpolate((P==null?void 0:P.interpolate)==="linear"?Qk:wM).scaleBy(m6(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>V(!0)),M)}):Promise.resolve(!1)}function k(M){u==null||u.scaleExtent(M)}function N(M){u==null||u.translateExtent(M)}function T(M){const P=!ku(M)||M<0?0:M;u==null||u.clickDistance(P)}return{update:_,destroy:b,setViewport:C,setViewportConstrained:v,getViewport:S,scaleTo:x,scaleBy:L,setScaleExtent:k,setTranslateExtent:N,syncViewport:y,setClickDistance:T}}var YS;(function(n){n.Line="line",n.Handle="handle"})(YS||(YS={}));function T2e({width:n,prevWidth:e,height:t,prevHeight:i,affectsX:s,affectsY:o}){const r=n-e,a=t-i,l=[r>0?1:r<0?-1:0,a>0?1:a<0?-1:0];return r&&s&&(l[0]=l[0]*-1),a&&o&&(l[1]=l[1]*-1),l}function kie(n){const e=n.includes("right")||n.includes("left"),t=n.includes("bottom")||n.includes("top"),i=n.includes("left"),s=n.includes("top");return{isHorizontal:e,isVertical:t,affectsX:i,affectsY:s}}function em(n,e){return Math.max(0,e-n)}function tm(n,e){return Math.max(0,n-e)}function w2(n,e,t){return Math.max(0,e-n,n-t)}function Nie(n,e){return n?!e:e}function R2e(n,e,t,i,s,o,r,a){let{affectsX:l,affectsY:c}=e;const{isHorizontal:d,isVertical:u}=e,h=d&&u,{xSnapped:f,ySnapped:g}=t,{minWidth:p,maxWidth:_,minHeight:b,maxHeight:v}=i,{x:C,y,width:S,height:x,aspectRatio:L}=n;let k=Math.floor(d?f-n.pointerX:0),N=Math.floor(u?g-n.pointerY:0);const T=S+(l?-k:k),M=x+(c?-N:N),P=-o[0]*S,V=-o[1]*x;let O=w2(T,p,_),A=w2(M,b,v);if(r){let W=0,F=0;l&&k<0?W=em(C+k+P,r[0][0]):!l&&k>0&&(W=tm(C+T+P,r[1][0])),c&&N<0?F=em(y+N+V,r[0][1]):!c&&N>0&&(F=tm(y+M+V,r[1][1])),O=Math.max(O,W),A=Math.max(A,F)}if(a){let W=0,F=0;l&&k>0?W=tm(C+k,a[0][0]):!l&&k<0&&(W=em(C+T,a[1][0])),c&&N>0?F=tm(y+N,a[0][1]):!c&&N<0&&(F=em(y+M,a[1][1])),O=Math.max(O,W),A=Math.max(A,F)}if(s){if(d){const W=w2(T/L,b,v)*L;if(O=Math.max(O,W),r){let F=0;!l&&!c||l&&!c&&h?F=tm(y+V+T/L,r[1][1])*L:F=em(y+V+(l?k:-k)/L,r[0][1])*L,O=Math.max(O,F)}if(a){let F=0;!l&&!c||l&&!c&&h?F=em(y+T/L,a[1][1])*L:F=tm(y+(l?k:-k)/L,a[0][1])*L,O=Math.max(O,F)}}if(u){const W=w2(M*L,p,_)/L;if(A=Math.max(A,W),r){let F=0;!l&&!c||c&&!l&&h?F=tm(C+M*L+P,r[1][0])/L:F=em(C+(c?N:-N)*L+P,r[0][0])/L,A=Math.max(A,F)}if(a){let F=0;!l&&!c||c&&!l&&h?F=em(C+M*L,a[1][0])/L:F=tm(C+(c?N:-N)*L,a[0][0])/L,A=Math.max(A,F)}}}N=N+(N<0?A:-A),k=k+(k<0?O:-O),s&&(h?T>M*L?N=(Nie(l,c)?-k:k)/L:k=(Nie(l,c)?-N:N)*L:d?(N=k/L,c=l):(k=N*L,l=c));const z=l?C+k:C,U=c?y+N:y;return{width:S+(l?-k:k),height:x+(c?-N:N),x:o[0]*k*(l?-1:1)+z,y:o[1]*N*(c?-1:1)+U}}const mpe={width:0,height:0,x:0,y:0},M2e={...mpe,pointerX:0,pointerY:0,aspectRatio:1};function A2e(n){return[[0,0],[n.measured.width,n.measured.height]]}function P2e(n,e,t){const i=e.position.x+n.position.x,s=e.position.y+n.position.y,o=n.measured.width??0,r=n.measured.height??0,a=t[0]*o,l=t[1]*r;return[[i-a,s-l],[i+o-a,s+r-l]]}function O2e({domNode:n,nodeId:e,getStoreItems:t,onChange:i,onEnd:s}){const o=Lc(n);let r={controlDirection:kie("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:c,boundaries:d,keepAspectRatio:u,resizeDirection:h,onResizeStart:f,onResize:g,onResizeEnd:p,shouldResize:_}){let b={...mpe},v={...M2e};r={boundaries:d,resizeDirection:h,keepAspectRatio:u,controlDirection:kie(c)};let C,y=null,S=[],x,L,k,N=!1;const T=kge().on("start",M=>{const{nodeLookup:P,transform:V,snapGrid:O,snapToGrid:A,nodeOrigin:z,paneDomNode:U}=t();if(C=P.get(e),!C)return;y=(U==null?void 0:U.getBoundingClientRect())??null;const{xSnapped:W,ySnapped:F}=Jk(M.sourceEvent,{transform:V,snapGrid:O,snapToGrid:A,containerBounds:y});b={width:C.measured.width??0,height:C.measured.height??0,x:C.position.x??0,y:C.position.y??0},v={...b,pointerX:W,pointerY:F,aspectRatio:b.width/b.height},x=void 0,C.parentId&&(C.extent==="parent"||C.expandParent)&&(x=P.get(C.parentId),L=x&&C.extent==="parent"?A2e(x):void 0),S=[],k=void 0;for(const[q,X]of P)if(X.parentId===e&&(S.push({id:q,position:{...X.position},extent:X.extent}),X.extent==="parent"||X.expandParent)){const Q=P2e(X,C,X.origin??z);k?k=[[Math.min(Q[0][0],k[0][0]),Math.min(Q[0][1],k[0][1])],[Math.max(Q[1][0],k[1][0]),Math.max(Q[1][1],k[1][1])]]:k=Q}f==null||f(M,{...b})}).on("drag",M=>{const{transform:P,snapGrid:V,snapToGrid:O,nodeOrigin:A}=t(),z=Jk(M.sourceEvent,{transform:P,snapGrid:V,snapToGrid:O,containerBounds:y}),U=[];if(!C)return;const{x:W,y:F,width:q,height:X}=b,Q={},oe=C.origin??A,{width:ge,height:ye,x:$e,y:Ze}=R2e(v,r.controlDirection,z,r.boundaries,r.keepAspectRatio,oe,L,k),Ee=ge!==q,Je=ye!==X,lt=$e!==W&&Ee,Ct=Ze!==F&&Je;if(!lt&&!Ct&&!Ee&&!Je)return;if((lt||Ct||oe[0]===1||oe[1]===1)&&(Q.x=lt?$e:b.x,Q.y=Ct?Ze:b.y,b.x=Q.x,b.y=Q.y,S.length>0)){const si=$e-W,Ke=Ze-F;for(const ri of S)ri.position={x:ri.position.x-si+oe[0]*(ge-q),y:ri.position.y-Ke+oe[1]*(ye-X)},U.push(ri)}if((Ee||Je)&&(Q.width=Ee&&(!r.resizeDirection||r.resizeDirection==="horizontal")?ge:b.width,Q.height=Je&&(!r.resizeDirection||r.resizeDirection==="vertical")?ye:b.height,b.width=Q.width,b.height=Q.height),x&&C.expandParent){const si=oe[0]*(Q.width??0);Q.x&&Q.x{N&&(p==null||p(M,{...b}),s==null||s({...b}),N=!1)});o.call(T)}function l(){o.on(".drag",null)}return{update:a,destroy:l}}var _pe={exports:{}},bpe={},vpe={exports:{}},wpe={};/** + */var kke=R,Uc=Lke;function et(n){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+n,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),AW=Object.prototype.hasOwnProperty,Nke=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_te={},bte={};function Eke(n){return AW.call(bte,n)?!0:AW.call(_te,n)?!1:Nke.test(n)?bte[n]=!0:(_te[n]=!0,!1)}function Ike(n,e,t,i){if(t!==null&&t.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:t!==null?!t.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function Dke(n,e,t,i){if(e===null||typeof e>"u"||Ike(n,e,t,i))return!0;if(i)return!1;if(t!==null)switch(t.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function vl(n,e,t,i,s,r,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=t,this.propertyName=n,this.type=e,this.sanitizeURL=r,this.removeEmptyString=o}var Qo={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Qo[n]=new vl(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Qo[e]=new vl(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Qo[n]=new vl(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Qo[n]=new vl(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){Qo[n]=new vl(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Qo[n]=new vl(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Qo[n]=new vl(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Qo[n]=new vl(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Qo[n]=new vl(n,5,!1,n.toLowerCase(),null,!1,!1)});var mY=/[\-:]([a-z])/g;function _Y(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var e=n.replace(mY,_Y);Qo[e]=new vl(e,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var e=n.replace(mY,_Y);Qo[e]=new vl(e,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var e=n.replace(mY,_Y);Qo[e]=new vl(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Qo[n]=new vl(n,1,!1,n.toLowerCase(),null,!1,!1)});Qo.xlinkHref=new vl("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Qo[n]=new vl(n,1,!1,n.toLowerCase(),null,!0,!0)});function bY(n,e,t,i){var s=Qo.hasOwnProperty(e)?Qo[e]:null;(s!==null?s.type!==0:i||!(2a||s[o]!==r[a]){var l=` +`+s[o].replace(" at new "," at ");return n.displayName&&l.includes("")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{h6=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Ak(n):""}function Tke(n){switch(n.tag){case 5:return Ak(n.type);case 16:return Ak("Lazy");case 13:return Ak("Suspense");case 19:return Ak("SuspenseList");case 0:case 2:case 15:return n=f6(n.type,!1),n;case 11:return n=f6(n.type.render,!1),n;case 1:return n=f6(n.type,!0),n;default:return""}}function BW(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case ty:return"Fragment";case ey:return"Portal";case PW:return"Profiler";case vY:return"StrictMode";case OW:return"Suspense";case FW:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case Zhe:return(n.displayName||"Context")+".Consumer";case Xhe:return(n._context.displayName||"Context")+".Provider";case wY:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case CY:return e=n.displayName||null,e!==null?e:BW(n.type)||"Memo";case Nm:e=n._payload,n=n._init;try{return BW(n(e))}catch{}}return null}function Rke(n){var e=n.type;switch(n.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=e.render,n=n.displayName||n.name||"",e.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return BW(e);case 8:return e===vY?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function ab(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function Jhe(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Mke(n){var e=Jhe(n)?"checked":"value",t=Object.getOwnPropertyDescriptor(n.constructor.prototype,e),i=""+n[e];if(!n.hasOwnProperty(e)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var s=t.get,r=t.set;return Object.defineProperty(n,e,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=""+o,r.call(this,o)}}),Object.defineProperty(n,e,{enumerable:t.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){n._valueTracker=null,delete n[e]}}}}function w2(n){n._valueTracker||(n._valueTracker=Mke(n))}function efe(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=Jhe(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function HA(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function WW(n,e){var t=e.checked;return Js({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function wte(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=ab(e.value!=null?e.value:t),n._wrapperState={initialChecked:i,initialValue:t,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function tfe(n,e){e=e.checked,e!=null&&bY(n,"checked",e,!1)}function HW(n,e){tfe(n,e);var t=ab(e.value),i=e.type;if(t!=null)i==="number"?(t===0&&n.value===""||n.value!=t)&&(n.value=""+t):n.value!==""+t&&(n.value=""+t);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}e.hasOwnProperty("value")?VW(n,e.type,t):e.hasOwnProperty("defaultValue")&&VW(n,e.type,ab(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function Cte(n,e,t){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+n._wrapperState.initialValue,t||e===n.value||(n.value=e),n.defaultValue=e}t=n.name,t!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,t!==""&&(n.name=t)}function VW(n,e,t){(e!=="number"||HA(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Pk=Array.isArray;function ix(n,e,t,i){if(n=n.options,e){e={};for(var s=0;s"+e.valueOf().toString()+"",e=C2.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function VE(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var uN={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ake=["Webkit","ms","Moz","O"];Object.keys(uN).forEach(function(n){Ake.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),uN[e]=uN[n]})});function rfe(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||uN.hasOwnProperty(n)&&uN[n]?(""+e).trim():e+"px"}function ofe(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,s=rfe(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,s):n[t]=s}}var Pke=Js({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function $W(n,e){if(e){if(Pke[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(et(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(et(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(et(61))}if(e.style!=null&&typeof e.style!="object")throw Error(et(62))}}function UW(n,e){if(n.indexOf("-")===-1)return typeof e.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var qW=null;function yY(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var KW=null,nx=null,sx=null;function Ste(n){if(n=dT(n)){if(typeof KW!="function")throw Error(et(280));var e=n.stateNode;e&&(e=WF(e),KW(n.stateNode,n.type,e))}}function afe(n){nx?sx?sx.push(n):sx=[n]:nx=n}function lfe(){if(nx){var n=nx,e=sx;if(sx=nx=null,Ste(n),e)for(n=0;n>>=0,n===0?32:31-(qke(n)/Kke|0)|0}var y2=64,x2=4194304;function Ok(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function $A(n,e){var t=n.pendingLanes;if(t===0)return 0;var i=0,s=n.suspendedLanes,r=n.pingedLanes,o=t&268435455;if(o!==0){var a=o&~s;a!==0?i=Ok(a):(r&=o,r!==0&&(i=Ok(r)))}else o=t&~s,o!==0?i=Ok(o):r!==0&&(i=Ok(r));if(i===0)return 0;if(e!==0&&e!==i&&!(e&s)&&(s=i&-i,r=e&-e,s>=r||s===16&&(r&4194240)!==0))return e;if(i&4&&(i|=t&16),e=n.entangledLanes,e!==0)for(n=n.entanglements,e&=i;0t;t++)e.push(n);return e}function lT(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Wu(e),n[e]=t}function Zke(n,e){var t=n.pendingLanes&~e;n.pendingLanes=e,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=e,n.mutableReadLanes&=e,n.entangledLanes&=e,e=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=fN),Mte=" ",Ate=!1;function Efe(n,e){switch(n){case"keyup":return LNe.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ife(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var iy=!1;function NNe(n,e){switch(n){case"compositionend":return Ife(e);case"keypress":return e.which!==32?null:(Ate=!0,Mte);case"textInput":return n=e.data,n===Mte&&Ate?null:n;default:return null}}function ENe(n,e){if(iy)return n==="compositionend"||!DY&&Efe(n,e)?(n=kfe(),MM=NY=Jm=null,iy=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:t,offset:e-n};n=i}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=Bte(t)}}function Mfe(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?Mfe(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function Afe(){for(var n=window,e=HA();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=HA(n.document)}return e}function TY(n){var e=n&&n.nodeName&&n.nodeName.toLowerCase();return e&&(e==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||e==="textarea"||n.contentEditable==="true")}function FNe(n){var e=Afe(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&Mfe(t.ownerDocument.documentElement,t)){if(i!==null&&TY(t)){if(e=i.start,n=i.end,n===void 0&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if(n=(e=t.ownerDocument||document)&&e.defaultView||window,n.getSelection){n=n.getSelection();var s=t.textContent.length,r=Math.min(i.start,s);i=i.end===void 0?r:Math.min(i.end,s),!n.extend&&r>i&&(s=i,i=r,r=s),s=Wte(t,r);var o=Wte(t,i);s&&o&&(n.rangeCount!==1||n.anchorNode!==s.node||n.anchorOffset!==s.offset||n.focusNode!==o.node||n.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(s.node,s.offset),n.removeAllRanges(),r>i?(n.addRange(e),n.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),n.addRange(e)))}}for(e=[],n=t;n=n.parentNode;)n.nodeType===1&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,ny=null,JW=null,pN=null,eH=!1;function Hte(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;eH||ny==null||ny!==HA(i)||(i=ny,"selectionStart"in i&&TY(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),pN&&KE(pN,i)||(pN=i,i=KA(JW,"onSelect"),0oy||(n.current=oH[oy],oH[oy]=null,oy--)}function ws(n,e){oy++,oH[oy]=n.current,n.current=e}var lb={},Ea=Ib(lb),Gl=Ib(!1),zw=lb;function iS(n,e){var t=n.type.contextTypes;if(!t)return lb;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var s={},r;for(r in t)s[r]=e[r];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=e,n.__reactInternalMemoizedMaskedChildContext=s),s}function Yl(n){return n=n.childContextTypes,n!=null}function YA(){Ls(Gl),Ls(Ea)}function Kte(n,e,t){if(Ea.current!==lb)throw Error(et(168));ws(Ea,e),ws(Gl,t)}function zfe(n,e,t){var i=n.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return t;i=i.getChildContext();for(var s in i)if(!(s in e))throw Error(et(108,Rke(n)||"Unknown",s));return Js({},t,i)}function XA(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||lb,zw=Ea.current,ws(Ea,n),ws(Gl,Gl.current),!0}function Gte(n,e,t){var i=n.stateNode;if(!i)throw Error(et(169));t?(n=zfe(n,e,zw),i.__reactInternalMemoizedMergedChildContext=n,Ls(Gl),Ls(Ea),ws(Ea,n)):Ls(Gl),ws(Gl,t)}var kg=null,HF=!1,N6=!1;function $fe(n){kg===null?kg=[n]:kg.push(n)}function YNe(n){HF=!0,$fe(n)}function Db(){if(!N6&&kg!==null){N6=!0;var n=0,e=qn;try{var t=kg;for(qn=1;n>=o,s-=o,Vg=1<<32-Wu(e)+s|t<k?(N=L,L=null):N=L.sibling;var D=h(b,L,C[k],y);if(D===null){L===null&&(L=N);break}n&&L&&D.alternate===null&&e(b,L),v=r(D,v,k),S===null?x=D:S.sibling=D,S=D,L=N}if(k===C.length)return t(b,L),Ns&&cv(b,k),x;if(L===null){for(;kk?(N=L,L=null):N=L.sibling;var M=h(b,L,D.value,y);if(M===null){L===null&&(L=N);break}n&&L&&M.alternate===null&&e(b,L),v=r(M,v,k),S===null?x=M:S.sibling=M,S=M,L=N}if(D.done)return t(b,L),Ns&&cv(b,k),x;if(L===null){for(;!D.done;k++,D=C.next())D=u(b,D.value,y),D!==null&&(v=r(D,v,k),S===null?x=D:S.sibling=D,S=D);return Ns&&cv(b,k),x}for(L=i(b,L);!D.done;k++,D=C.next())D=f(L,b,k,D.value,y),D!==null&&(n&&D.alternate!==null&&L.delete(D.key===null?k:D.key),v=r(D,v,k),S===null?x=D:S.sibling=D,S=D);return n&&L.forEach(function(P){return e(b,P)}),Ns&&cv(b,k),x}function _(b,v,C,y){if(typeof C=="object"&&C!==null&&C.type===ty&&C.key===null&&(C=C.props.children),typeof C=="object"&&C!==null){switch(C.$$typeof){case v2:e:{for(var x=C.key,S=v;S!==null;){if(S.key===x){if(x=C.type,x===ty){if(S.tag===7){t(b,S.sibling),v=s(S,C.props.children),v.return=b,b=v;break e}}else if(S.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===Nm&&Zte(x)===S.type){t(b,S.sibling),v=s(S,C.props),v.ref=$L(b,S,C),v.return=b,b=v;break e}t(b,S);break}else e(b,S);S=S.sibling}C.type===ty?(v=L1(C.props.children,b.mode,y,C.key),v.return=b,b=v):(y=VM(C.type,C.key,C.props,null,b.mode,y),y.ref=$L(b,v,C),y.return=b,b=y)}return o(b);case ey:e:{for(S=C.key;v!==null;){if(v.key===S)if(v.tag===4&&v.stateNode.containerInfo===C.containerInfo&&v.stateNode.implementation===C.implementation){t(b,v.sibling),v=s(v,C.children||[]),v.return=b,b=v;break e}else{t(b,v);break}else e(b,v);v=v.sibling}v=P6(C,b.mode,y),v.return=b,b=v}return o(b);case Nm:return S=C._init,_(b,v,S(C._payload),y)}if(Pk(C))return g(b,v,C,y);if(WL(C))return m(b,v,C,y);D2(b,C)}return typeof C=="string"&&C!==""||typeof C=="number"?(C=""+C,v!==null&&v.tag===6?(t(b,v.sibling),v=s(v,C),v.return=b,b=v):(t(b,v),v=A6(C,b.mode,y),v.return=b,b=v),o(b)):t(b,v)}return _}var sS=Gfe(!0),Yfe=Gfe(!1),JA=Ib(null),eP=null,cy=null,PY=null;function OY(){PY=cy=eP=null}function FY(n){var e=JA.current;Ls(JA),n._currentValue=e}function cH(n,e,t){for(;n!==null;){var i=n.alternate;if((n.childLanes&e)!==e?(n.childLanes|=e,i!==null&&(i.childLanes|=e)):i!==null&&(i.childLanes&e)!==e&&(i.childLanes|=e),n===t)break;n=n.return}}function ox(n,e){eP=n,PY=cy=null,n=n.dependencies,n!==null&&n.firstContext!==null&&(n.lanes&e&&(zl=!0),n.firstContext=null)}function jd(n){var e=n._currentValue;if(PY!==n)if(n={context:n,memoizedValue:e,next:null},cy===null){if(eP===null)throw Error(et(308));cy=n,eP.dependencies={lanes:0,firstContext:n}}else cy=cy.next=n;return e}var i1=null;function BY(n){i1===null?i1=[n]:i1.push(n)}function Xfe(n,e,t,i){var s=e.interleaved;return s===null?(t.next=t,BY(e)):(t.next=s.next,s.next=t),e.interleaved=t,Lp(n,i)}function Lp(n,e){n.lanes|=e;var t=n.alternate;for(t!==null&&(t.lanes|=e),t=n,n=n.return;n!==null;)n.childLanes|=e,t=n.alternate,t!==null&&(t.childLanes|=e),t=n,n=n.return;return t.tag===3?t.stateNode:null}var Em=!1;function WY(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Zfe(n,e){n=n.updateQueue,e.updateQueue===n&&(e.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function ap(n,e){return{eventTime:n,lane:e,tag:0,payload:null,callback:null,next:null}}function N_(n,e,t){var i=n.updateQueue;if(i===null)return null;if(i=i.shared,mn&2){var s=i.pending;return s===null?e.next=e:(e.next=s.next,s.next=e),i.pending=e,Lp(n,t)}return s=i.interleaved,s===null?(e.next=e,BY(i)):(e.next=s.next,s.next=e),i.interleaved=e,Lp(n,t)}function PM(n,e,t){if(e=e.updateQueue,e!==null&&(e=e.shared,(t&4194240)!==0)){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,SY(n,t)}}function Qte(n,e){var t=n.updateQueue,i=n.alternate;if(i!==null&&(i=i.updateQueue,t===i)){var s=null,r=null;if(t=t.firstBaseUpdate,t!==null){do{var o={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};r===null?s=r=o:r=r.next=o,t=t.next}while(t!==null);r===null?s=r=e:r=r.next=e}else s=r=e;t={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:r,shared:i.shared,effects:i.effects},n.updateQueue=t;return}n=t.lastBaseUpdate,n===null?t.firstBaseUpdate=e:n.next=e,t.lastBaseUpdate=e}function tP(n,e,t,i){var s=n.updateQueue;Em=!1;var r=s.firstBaseUpdate,o=s.lastBaseUpdate,a=s.shared.pending;if(a!==null){s.shared.pending=null;var l=a,c=l.next;l.next=null,o===null?r=c:o.next=c,o=l;var d=n.alternate;d!==null&&(d=d.updateQueue,a=d.lastBaseUpdate,a!==o&&(a===null?d.firstBaseUpdate=c:a.next=c,d.lastBaseUpdate=l))}if(r!==null){var u=s.baseState;o=0,d=c=l=null,a=r;do{var h=a.lane,f=a.eventTime;if((i&h)===h){d!==null&&(d=d.next={eventTime:f,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var g=n,m=a;switch(h=e,f=t,m.tag){case 1:if(g=m.payload,typeof g=="function"){u=g.call(f,u,h);break e}u=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=m.payload,h=typeof g=="function"?g.call(f,u,h):g,h==null)break e;u=Js({},u,h);break e;case 2:Em=!0}}a.callback!==null&&a.lane!==0&&(n.flags|=64,h=s.effects,h===null?s.effects=[a]:h.push(a))}else f={eventTime:f,lane:h,tag:a.tag,payload:a.payload,callback:a.callback,next:null},d===null?(c=d=f,l=u):d=d.next=f,o|=h;if(a=a.next,a===null){if(a=s.shared.pending,a===null)break;h=a,a=h.next,h.next=null,s.lastBaseUpdate=h,s.shared.pending=null}}while(!0);if(d===null&&(l=u),s.baseState=l,s.firstBaseUpdate=c,s.lastBaseUpdate=d,e=s.shared.interleaved,e!==null){s=e;do o|=s.lane,s=s.next;while(s!==e)}else r===null&&(s.shared.lanes=0);qw|=o,n.lanes=o,n.memoizedState=u}}function Jte(n,e,t){if(n=e.effects,e.effects=null,n!==null)for(e=0;et?t:4,n(!0);var i=I6.transition;I6.transition={};try{n(!1),e()}finally{qn=t,I6.transition=i}}function gge(){return zd().memoizedState}function JNe(n,e,t){var i=I_(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},pge(n))mge(e,t);else if(t=Xfe(n,e,t,i),t!==null){var s=rl();Hu(t,n,i,s),_ge(t,e,i)}}function eEe(n,e,t){var i=I_(n),s={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(pge(n))mge(e,s);else{var r=n.alternate;if(n.lanes===0&&(r===null||r.lanes===0)&&(r=e.lastRenderedReducer,r!==null))try{var o=e.lastRenderedState,a=r(o,t);if(s.hasEagerState=!0,s.eagerState=a,qu(a,o)){var l=e.interleaved;l===null?(s.next=s,BY(e)):(s.next=l.next,l.next=s),e.interleaved=s;return}}catch{}finally{}t=Xfe(n,e,s,i),t!==null&&(s=rl(),Hu(t,n,i,s),_ge(t,e,i))}}function pge(n){var e=n.alternate;return n===Ys||e!==null&&e===Ys}function mge(n,e){mN=nP=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function _ge(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,SY(n,t)}}var sP={readContext:jd,useCallback:fa,useContext:fa,useEffect:fa,useImperativeHandle:fa,useInsertionEffect:fa,useLayoutEffect:fa,useMemo:fa,useReducer:fa,useRef:fa,useState:fa,useDebugValue:fa,useDeferredValue:fa,useTransition:fa,useMutableSource:fa,useSyncExternalStore:fa,useId:fa,unstable_isNewReconciler:!1},tEe={readContext:jd,useCallback:function(n,e){return Mh().memoizedState=[n,e===void 0?null:e],n},useContext:jd,useEffect:tie,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,FM(4194308,4,cge.bind(null,e,n),t)},useLayoutEffect:function(n,e){return FM(4194308,4,n,e)},useInsertionEffect:function(n,e){return FM(4,2,n,e)},useMemo:function(n,e){var t=Mh();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=Mh();return e=t!==void 0?t(e):e,i.memoizedState=i.baseState=e,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:e},i.queue=n,n=n.dispatch=JNe.bind(null,Ys,n),[i.memoizedState,n]},useRef:function(n){var e=Mh();return n={current:n},e.memoizedState=n},useState:eie,useDebugValue:KY,useDeferredValue:function(n){return Mh().memoizedState=n},useTransition:function(){var n=eie(!1),e=n[0];return n=QNe.bind(null,n[1]),Mh().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Ys,s=Mh();if(Ns){if(t===void 0)throw Error(et(407));t=t()}else{if(t=e(),Io===null)throw Error(et(349));Uw&30||tge(i,e,t)}s.memoizedState=t;var r={value:t,getSnapshot:e};return s.queue=r,tie(nge.bind(null,i,r,n),[n]),i.flags|=2048,tI(9,ige.bind(null,i,r,t,e),void 0,null),t},useId:function(){var n=Mh(),e=Io.identifierPrefix;if(Ns){var t=jg,i=Vg;t=(i&~(1<<32-Wu(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=JE++,0<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=o.createElement(t,{is:i.is}):(n=o.createElement(t),t==="select"&&(o=n,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):n=o.createElementNS(n,t),n[Zh]=e,n[XE]=i,Nge(n,e,!1,!1),e.stateNode=n;e:{switch(o=UW(t,i),t){case"dialog":xs("cancel",n),xs("close",n),s=i;break;case"iframe":case"object":case"embed":xs("load",n),s=i;break;case"video":case"audio":for(s=0;saS&&(e.flags|=128,i=!0,UL(r,!1),e.lanes=4194304)}else{if(!i)if(n=iP(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),UL(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!Ns)return ga(e),null}else 2*vr()-r.renderingStartTime>aS&&t!==1073741824&&(e.flags|=128,i=!0,UL(r,!1),e.lanes=4194304);r.isBackwards?(o.sibling=e.child,e.child=o):(t=r.last,t!==null?t.sibling=o:e.child=o,r.last=o)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=vr(),e.sibling=null,t=$s.current,ws($s,i?t&1|2:t&1),e):(ga(e),null);case 22:case 23:return JY(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Sc&1073741824&&(ga(e),e.subtreeFlags&6&&(e.flags|=8192)):ga(e),null;case 24:return null;case 25:return null}throw Error(et(156,e.tag))}function cEe(n,e){switch(MY(e),e.tag){case 1:return Yl(e.type)&&YA(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return rS(),Ls(Gl),Ls(Ea),jY(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return VY(e),null;case 13:if(Ls($s),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(et(340));nS()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Ls($s),null;case 4:return rS(),null;case 10:return FY(e.type._context),null;case 22:case 23:return JY(),null;case 24:return null;default:return null}}var R2=!1,ya=!1,dEe=typeof WeakSet=="function"?WeakSet:Set,Nt=null;function dy(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){ar(n,e,i)}else t.current=null}function bH(n,e,t){try{t()}catch(i){ar(n,e,i)}}var hie=!1;function uEe(n,e){if(tH=UA,n=Afe(),TY(n)){if("selectionStart"in n)var t={start:n.selectionStart,end:n.selectionEnd};else e:{t=(t=n.ownerDocument)&&t.defaultView||window;var i=t.getSelection&&t.getSelection();if(i&&i.rangeCount!==0){t=i.anchorNode;var s=i.anchorOffset,r=i.focusNode;i=i.focusOffset;try{t.nodeType,r.nodeType}catch{t=null;break e}var o=0,a=-1,l=-1,c=0,d=0,u=n,h=null;t:for(;;){for(var f;u!==t||s!==0&&u.nodeType!==3||(a=o+s),u!==r||i!==0&&u.nodeType!==3||(l=o+i),u.nodeType===3&&(o+=u.nodeValue.length),(f=u.firstChild)!==null;)h=u,u=f;for(;;){if(u===n)break t;if(h===t&&++c===s&&(a=o),h===r&&++d===i&&(l=o),(f=u.nextSibling)!==null)break;u=h,h=u.parentNode}u=f}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(iH={focusedElem:n,selectionRange:t},UA=!1,Nt=e;Nt!==null;)if(e=Nt,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,Nt=n;else for(;Nt!==null;){e=Nt;try{var g=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var m=g.memoizedProps,_=g.memoizedState,b=e.stateNode,v=b.getSnapshotBeforeUpdate(e.elementType===e.type?m:gu(e.type,m),_);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var C=e.stateNode.containerInfo;C.nodeType===1?C.textContent="":C.nodeType===9&&C.documentElement&&C.removeChild(C.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(et(163))}}catch(y){ar(e,e.return,y)}if(n=e.sibling,n!==null){n.return=e.return,Nt=n;break}Nt=e.return}return g=hie,hie=!1,g}function _N(n,e,t){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&n)===n){var r=s.destroy;s.destroy=void 0,r!==void 0&&bH(e,t,r)}s=s.next}while(s!==i)}}function zF(n,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var t=e=e.next;do{if((t.tag&n)===n){var i=t.create;t.destroy=i()}t=t.next}while(t!==e)}}function vH(n){var e=n.ref;if(e!==null){var t=n.stateNode;switch(n.tag){case 5:n=t;break;default:n=t}typeof e=="function"?e(n):e.current=n}}function Dge(n){var e=n.alternate;e!==null&&(n.alternate=null,Dge(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Zh],delete e[XE],delete e[rH],delete e[KNe],delete e[GNe])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function Tge(n){return n.tag===5||n.tag===3||n.tag===4}function fie(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Tge(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function wH(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.nodeType===8?t.parentNode.insertBefore(n,e):t.insertBefore(n,e):(t.nodeType===8?(e=t.parentNode,e.insertBefore(n,t)):(e=t,e.appendChild(n)),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=GA));else if(i!==4&&(n=n.child,n!==null))for(wH(n,e,t),n=n.sibling;n!==null;)wH(n,e,t),n=n.sibling}function CH(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.insertBefore(n,e):t.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(CH(n,e,t),n=n.sibling;n!==null;)CH(n,e,t),n=n.sibling}var Vo=null,_u=!1;function fm(n,e,t){for(t=t.child;t!==null;)Rge(n,e,t),t=t.sibling}function Rge(n,e,t){if(ff&&typeof ff.onCommitFiberUnmount=="function")try{ff.onCommitFiberUnmount(PF,t)}catch{}switch(t.tag){case 5:ya||dy(t,e);case 6:var i=Vo,s=_u;Vo=null,fm(n,e,t),Vo=i,_u=s,Vo!==null&&(_u?(n=Vo,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Vo.removeChild(t.stateNode));break;case 18:Vo!==null&&(_u?(n=Vo,t=t.stateNode,n.nodeType===8?k6(n.parentNode,t):n.nodeType===1&&k6(n,t),UE(n)):k6(Vo,t.stateNode));break;case 4:i=Vo,s=_u,Vo=t.stateNode.containerInfo,_u=!0,fm(n,e,t),Vo=i,_u=s;break;case 0:case 11:case 14:case 15:if(!ya&&(i=t.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var r=s,o=r.destroy;r=r.tag,o!==void 0&&(r&2||r&4)&&bH(t,e,o),s=s.next}while(s!==i)}fm(n,e,t);break;case 1:if(!ya&&(dy(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){ar(t,e,a)}fm(n,e,t);break;case 21:fm(n,e,t);break;case 22:t.mode&1?(ya=(i=ya)||t.memoizedState!==null,fm(n,e,t),ya=i):fm(n,e,t);break;default:fm(n,e,t)}}function gie(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new dEe),e.forEach(function(i){var s=wEe.bind(null,n,i);t.has(i)||(t.add(i),i.then(s,s))})}}function su(n,e){var t=e.deletions;if(t!==null)for(var i=0;is&&(s=o),i&=~r}if(i=s,i=vr()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*fEe(i/1960))-i,10n?16:n,e_===null)var i=!1;else{if(n=e_,e_=null,aP=0,mn&6)throw Error(et(331));var s=mn;for(mn|=4,Nt=n.current;Nt!==null;){var r=Nt,o=r.child;if(Nt.flags&16){var a=r.deletions;if(a!==null){for(var l=0;lvr()-ZY?S1(n,0):XY|=t),Xl(n,e)}function Hge(n,e){e===0&&(n.mode&1?(e=x2,x2<<=1,!(x2&130023424)&&(x2=4194304)):e=1);var t=rl();n=Lp(n,e),n!==null&&(lT(n,e,t),Xl(n,t))}function vEe(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),Hge(n,t)}function wEe(n,e){var t=0;switch(n.tag){case 13:var i=n.stateNode,s=n.memoizedState;s!==null&&(t=s.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(et(314))}i!==null&&i.delete(e),Hge(n,t)}var Vge;Vge=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Gl.current)zl=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return zl=!1,aEe(n,e,t);zl=!!(n.flags&131072)}else zl=!1,Ns&&e.flags&1048576&&Ufe(e,QA,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;BM(n,e),n=e.pendingProps;var s=iS(e,Ea.current);ox(e,t),s=$Y(null,e,i,n,s,t);var r=UY();return e.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Yl(i)?(r=!0,XA(e)):r=!1,e.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,WY(e),s.updater=jF,e.stateNode=s,s._reactInternals=e,uH(e,i,n,t),e=gH(null,e,i,!0,r,t)):(e.tag=0,Ns&&r&&RY(e),Xa(null,e,s,t),e=e.child),e;case 16:i=e.elementType;e:{switch(BM(n,e),n=e.pendingProps,s=i._init,i=s(i._payload),e.type=i,s=e.tag=yEe(i),n=gu(i,n),s){case 0:e=fH(null,e,i,n,t);break e;case 1:e=cie(null,e,i,n,t);break e;case 11:e=aie(null,e,i,n,t);break e;case 14:e=lie(null,e,i,gu(i.type,n),t);break e}throw Error(et(306,i,""))}return e;case 0:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:gu(i,s),fH(n,e,i,s,t);case 1:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:gu(i,s),cie(n,e,i,s,t);case 3:e:{if(Sge(e),n===null)throw Error(et(387));i=e.pendingProps,r=e.memoizedState,s=r.element,Zfe(n,e),tP(e,i,null,t);var o=e.memoizedState;if(i=o.element,r.isDehydrated)if(r={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=r,e.memoizedState=r,e.flags&256){s=oS(Error(et(423)),e),e=die(n,e,i,t,s);break e}else if(i!==s){s=oS(Error(et(424)),e),e=die(n,e,i,t,s);break e}else for(Bc=k_(e.stateNode.containerInfo.firstChild),Hc=e,Ns=!0,yu=null,t=Yfe(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(nS(),i===s){e=kp(n,e,t);break e}Xa(n,e,i,t)}e=e.child}return e;case 5:return Qfe(e),n===null&&lH(e),i=e.type,s=e.pendingProps,r=n!==null?n.memoizedProps:null,o=s.children,nH(i,s)?o=null:r!==null&&nH(i,r)&&(e.flags|=32),xge(n,e),Xa(n,e,o,t),e.child;case 6:return n===null&&lH(e),null;case 13:return Lge(n,e,t);case 4:return HY(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=sS(e,null,i,t):Xa(n,e,i,t),e.child;case 11:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:gu(i,s),aie(n,e,i,s,t);case 7:return Xa(n,e,e.pendingProps,t),e.child;case 8:return Xa(n,e,e.pendingProps.children,t),e.child;case 12:return Xa(n,e,e.pendingProps.children,t),e.child;case 10:e:{if(i=e.type._context,s=e.pendingProps,r=e.memoizedProps,o=s.value,ws(JA,i._currentValue),i._currentValue=o,r!==null)if(qu(r.value,o)){if(r.children===s.children&&!Gl.current){e=kp(n,e,t);break e}}else for(r=e.child,r!==null&&(r.return=e);r!==null;){var a=r.dependencies;if(a!==null){o=r.child;for(var l=a.firstContext;l!==null;){if(l.context===i){if(r.tag===1){l=ap(-1,t&-t),l.tag=2;var c=r.updateQueue;if(c!==null){c=c.shared;var d=c.pending;d===null?l.next=l:(l.next=d.next,d.next=l),c.pending=l}}r.lanes|=t,l=r.alternate,l!==null&&(l.lanes|=t),cH(r.return,t,e),a.lanes|=t;break}l=l.next}}else if(r.tag===10)o=r.type===e.type?null:r.child;else if(r.tag===18){if(o=r.return,o===null)throw Error(et(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),cH(o,t,e),o=r.sibling}else o=r.child;if(o!==null)o.return=r;else for(o=r;o!==null;){if(o===e){o=null;break}if(r=o.sibling,r!==null){r.return=o.return,o=r;break}o=o.return}r=o}Xa(n,e,s.children,t),e=e.child}return e;case 9:return s=e.type,i=e.pendingProps.children,ox(e,t),s=jd(s),i=i(s),e.flags|=1,Xa(n,e,i,t),e.child;case 14:return i=e.type,s=gu(i,e.pendingProps),s=gu(i.type,s),lie(n,e,i,s,t);case 15:return Cge(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,s=e.pendingProps,s=e.elementType===i?s:gu(i,s),BM(n,e),e.tag=1,Yl(i)?(n=!0,XA(e)):n=!1,ox(e,t),bge(e,i,s),uH(e,i,s,t),gH(null,e,i,!0,n,t);case 19:return kge(n,e,t);case 22:return yge(n,e,t)}throw Error(et(156,e.tag))};function jge(n,e){return pfe(n,e)}function CEe(n,e,t,i){this.tag=n,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rd(n,e,t,i){return new CEe(n,e,t,i)}function tX(n){return n=n.prototype,!(!n||!n.isReactComponent)}function yEe(n){if(typeof n=="function")return tX(n)?1:0;if(n!=null){if(n=n.$$typeof,n===wY)return 11;if(n===CY)return 14}return 2}function D_(n,e){var t=n.alternate;return t===null?(t=Rd(n.tag,e,n.key,n.mode),t.elementType=n.elementType,t.type=n.type,t.stateNode=n.stateNode,t.alternate=n,n.alternate=t):(t.pendingProps=e,t.type=n.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=n.flags&14680064,t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=n.sibling,t.index=n.index,t.ref=n.ref,t}function VM(n,e,t,i,s,r){var o=2;if(i=n,typeof n=="function")tX(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case ty:return L1(t.children,s,r,e);case vY:o=8,s|=8;break;case PW:return n=Rd(12,t,e,s|2),n.elementType=PW,n.lanes=r,n;case OW:return n=Rd(13,t,e,s),n.elementType=OW,n.lanes=r,n;case FW:return n=Rd(19,t,e,s),n.elementType=FW,n.lanes=r,n;case Qhe:return UF(t,s,r,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case Xhe:o=10;break e;case Zhe:o=9;break e;case wY:o=11;break e;case CY:o=14;break e;case Nm:o=16,i=null;break e}throw Error(et(130,n==null?n:typeof n,""))}return e=Rd(o,t,e,s),e.elementType=n,e.type=i,e.lanes=r,e}function L1(n,e,t,i){return n=Rd(7,n,i,e),n.lanes=t,n}function UF(n,e,t,i){return n=Rd(22,n,i,e),n.elementType=Qhe,n.lanes=t,n.stateNode={isHidden:!1},n}function A6(n,e,t){return n=Rd(6,n,null,e),n.lanes=t,n}function P6(n,e,t){return e=Rd(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function xEe(n,e,t,i,s){this.tag=e,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=p6(0),this.expirationTimes=p6(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=p6(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function iX(n,e,t,i,s,r,o,a,l){return n=new xEe(n,e,t,a,l),e===1?(e=1,r===!0&&(e|=8)):e=0,r=Rd(3,null,null,e),n.current=r,r.stateNode=n,r.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},WY(r),n}function SEe(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(qge)}catch(n){console.error(n)}}qge(),qhe.exports=td;var XF=qhe.exports,yie=XF;MW.createRoot=yie.createRoot,MW.hydrateRoot=yie.hydrateRoot;const IEe="modulepreload",DEe=function(n){return"/"+n},xie={},Kge=function(e,t,i){let s=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.allSettled(t.map(l=>{if(l=DEe(l),l in xie)return;xie[l]=!0;const c=l.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const u=document.createElement("link");if(u.rel=c?"stylesheet":IEe,c||(u.as="script"),u.crossOrigin="",u.href=l,a&&u.setAttribute("nonce",a),document.head.appendChild(u),c)return new Promise((h,f)=>{u.addEventListener("load",h),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${l}`)))})}))}function r(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&r(a.reason);return e().catch(r)})};function Gr(n){if(typeof n=="string"||typeof n=="number")return""+n;let e="";if(Array.isArray(n))for(let t=0,i;t{}};function ZF(){for(var n=0,e=arguments.length,t={},i;n=0&&(i=t.slice(s+1),t=t.slice(0,s)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:i}})}jM.prototype=ZF.prototype={constructor:jM,on:function(n,e){var t=this._,i=REe(n+"",t),s,r=-1,o=i.length;if(arguments.length<2){for(;++r0)for(var t=new Array(s),i=0,s,r;i=0&&(e=n.slice(0,t))!=="xmlns"&&(n=n.slice(t+1)),Lie.hasOwnProperty(e)?{space:Lie[e],local:n}:n}function AEe(n){return function(){var e=this.ownerDocument,t=this.namespaceURI;return t===kH&&e.documentElement.namespaceURI===kH?e.createElement(n):e.createElementNS(t,n)}}function PEe(n){return function(){return this.ownerDocument.createElementNS(n.space,n.local)}}function Gge(n){var e=QF(n);return(e.local?PEe:AEe)(e)}function OEe(){}function oX(n){return n==null?OEe:function(){return this.querySelector(n)}}function FEe(n){typeof n!="function"&&(n=oX(n));for(var e=this._groups,t=e.length,i=new Array(t),s=0;s=C&&(C=v+1);!(x=_[C])&&++C=0;)(o=i[s])&&(r&&o.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(o,r),r=o);return this}function lIe(n){n||(n=cIe);function e(u,h){return u&&h?n(u.__data__,h.__data__):!u-!h}for(var t=this._groups,i=t.length,s=new Array(i),r=0;re?1:n>=e?0:NaN}function dIe(){var n=arguments[0];return arguments[0]=this,n.apply(null,arguments),this}function uIe(){return Array.from(this)}function hIe(){for(var n=this._groups,e=0,t=n.length;e1?this.each((e==null?xIe:typeof e=="function"?LIe:SIe)(n,e,t??"")):lS(this.node(),n)}function lS(n,e){return n.style.getPropertyValue(e)||Jge(n).getComputedStyle(n,null).getPropertyValue(e)}function NIe(n){return function(){delete this[n]}}function EIe(n,e){return function(){this[n]=e}}function IIe(n,e){return function(){var t=e.apply(this,arguments);t==null?delete this[n]:this[n]=t}}function DIe(n,e){return arguments.length>1?this.each((e==null?NIe:typeof e=="function"?IIe:EIe)(n,e)):this.node()[n]}function epe(n){return n.trim().split(/^|\s+/)}function aX(n){return n.classList||new tpe(n)}function tpe(n){this._node=n,this._names=epe(n.getAttribute("class")||"")}tpe.prototype={add:function(n){var e=this._names.indexOf(n);e<0&&(this._names.push(n),this._node.setAttribute("class",this._names.join(" ")))},remove:function(n){var e=this._names.indexOf(n);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(n){return this._names.indexOf(n)>=0}};function ipe(n,e){for(var t=aX(n),i=-1,s=e.length;++i=0&&(t=e.slice(i+1),e=e.slice(0,i)),{type:e,name:t}})}function sDe(n){return function(){var e=this.__on;if(e){for(var t=0,i=-1,s=e.length,r;t()=>n;function NH(n,{sourceEvent:e,subject:t,target:i,identifier:s,active:r,x:o,y:a,dx:l,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:t,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}NH.prototype.on=function(){var n=this._.on.apply(this._,arguments);return n===this._?this:n};function gDe(n){return!n.ctrlKey&&!n.button}function pDe(){return this.parentNode}function mDe(n,e){return e??{x:n.x,y:n.y}}function _De(){return navigator.maxTouchPoints||"ontouchstart"in this}function lpe(){var n=gDe,e=pDe,t=mDe,i=_De,s={},r=ZF("start","drag","end"),o=0,a,l,c,d,u=0;function h(y){y.on("mousedown.drag",f).filter(i).on("touchstart.drag",_).on("touchmove.drag",b,fDe).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(y,x){if(!(d||!n.call(this,y,x))){var S=C(this,e.call(this,y,x),y,x,"mouse");S&&(Dc(y.view).on("mousemove.drag",g,nI).on("mouseup.drag",m,nI),ope(y.view),O6(y),c=!1,a=y.clientX,l=y.clientY,S("start",y))}}function g(y){if(lx(y),!c){var x=y.clientX-a,S=y.clientY-l;c=x*x+S*S>u}s.mouse("drag",y)}function m(y){Dc(y.view).on("mousemove.drag mouseup.drag",null),ape(y.view,c),lx(y),s.mouse("end",y)}function _(y,x){if(n.call(this,y,x)){var S=y.changedTouches,L=e.call(this,y,x),k=S.length,N,D;for(N=0;N>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?O2(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?O2(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=vDe.exec(n))?new $l(e[1],e[2],e[3],1):(e=wDe.exec(n))?new $l(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=CDe.exec(n))?O2(e[1],e[2],e[3],e[4]):(e=yDe.exec(n))?O2(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=xDe.exec(n))?Rie(e[1],e[2]/100,e[3]/100,1):(e=SDe.exec(n))?Rie(e[1],e[2]/100,e[3]/100,e[4]):kie.hasOwnProperty(n)?Iie(kie[n]):n==="transparent"?new $l(NaN,NaN,NaN,0):null}function Iie(n){return new $l(n>>16&255,n>>8&255,n&255,1)}function O2(n,e,t,i){return i<=0&&(n=e=t=NaN),new $l(n,e,t,i)}function NDe(n){return n instanceof fT||(n=Gw(n)),n?(n=n.rgb(),new $l(n.r,n.g,n.b,n.opacity)):new $l}function EH(n,e,t,i){return arguments.length===1?NDe(n):new $l(n,e,t,i??1)}function $l(n,e,t,i){this.r=+n,this.g=+e,this.b=+t,this.opacity=+i}lX($l,EH,cpe(fT,{brighter(n){return n=n==null?uP:Math.pow(uP,n),new $l(this.r*n,this.g*n,this.b*n,this.opacity)},darker(n){return n=n==null?sI:Math.pow(sI,n),new $l(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new $l(k1(this.r),k1(this.g),k1(this.b),hP(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Die,formatHex:Die,formatHex8:EDe,formatRgb:Tie,toString:Tie}));function Die(){return`#${s1(this.r)}${s1(this.g)}${s1(this.b)}`}function EDe(){return`#${s1(this.r)}${s1(this.g)}${s1(this.b)}${s1((isNaN(this.opacity)?1:this.opacity)*255)}`}function Tie(){const n=hP(this.opacity);return`${n===1?"rgb(":"rgba("}${k1(this.r)}, ${k1(this.g)}, ${k1(this.b)}${n===1?")":`, ${n})`}`}function hP(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function k1(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function s1(n){return n=k1(n),(n<16?"0":"")+n.toString(16)}function Rie(n,e,t,i){return i<=0?n=e=t=NaN:t<=0||t>=1?n=e=NaN:e<=0&&(n=NaN),new Du(n,e,t,i)}function dpe(n){if(n instanceof Du)return new Du(n.h,n.s,n.l,n.opacity);if(n instanceof fT||(n=Gw(n)),!n)return new Du;if(n instanceof Du)return n;n=n.rgb();var e=n.r/255,t=n.g/255,i=n.b/255,s=Math.min(e,t,i),r=Math.max(e,t,i),o=NaN,a=r-s,l=(r+s)/2;return a?(e===r?o=(t-i)/a+(t0&&l<1?0:o,new Du(o,a,l,n.opacity)}function IDe(n,e,t,i){return arguments.length===1?dpe(n):new Du(n,e,t,i??1)}function Du(n,e,t,i){this.h=+n,this.s=+e,this.l=+t,this.opacity=+i}lX(Du,IDe,cpe(fT,{brighter(n){return n=n==null?uP:Math.pow(uP,n),new Du(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?sI:Math.pow(sI,n),new Du(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,e=isNaN(n)||isNaN(this.s)?0:this.s,t=this.l,i=t+(t<.5?t:1-t)*e,s=2*t-i;return new $l(F6(n>=240?n-240:n+120,s,i),F6(n,s,i),F6(n<120?n+240:n-120,s,i),this.opacity)},clamp(){return new Du(Mie(this.h),F2(this.s),F2(this.l),hP(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const n=hP(this.opacity);return`${n===1?"hsl(":"hsla("}${Mie(this.h)}, ${F2(this.s)*100}%, ${F2(this.l)*100}%${n===1?")":`, ${n})`}`}}));function Mie(n){return n=(n||0)%360,n<0?n+360:n}function F2(n){return Math.max(0,Math.min(1,n||0))}function F6(n,e,t){return(n<60?e+(t-e)*n/60:n<180?t:n<240?e+(t-e)*(240-n)/60:e)*255}const cX=n=>()=>n;function DDe(n,e){return function(t){return n+t*e}}function TDe(n,e,t){return n=Math.pow(n,t),e=Math.pow(e,t)-n,t=1/t,function(i){return Math.pow(n+i*e,t)}}function RDe(n){return(n=+n)==1?upe:function(e,t){return t-e?TDe(e,t,n):cX(isNaN(e)?t:e)}}function upe(n,e){var t=e-n;return t?DDe(n,t):cX(isNaN(n)?e:n)}const fP=function n(e){var t=RDe(e);function i(s,r){var o=t((s=EH(s)).r,(r=EH(r)).r),a=t(s.g,r.g),l=t(s.b,r.b),c=upe(s.opacity,r.opacity);return function(d){return s.r=o(d),s.g=a(d),s.b=l(d),s.opacity=c(d),s+""}}return i.gamma=n,i}(1);function MDe(n,e){e||(e=[]);var t=n?Math.min(e.length,n.length):0,i=e.slice(),s;return function(r){for(s=0;st&&(r=e.slice(t,r),a[o]?a[o]+=r:a[++o]=r),(i=i[0])===(s=s[0])?a[o]?a[o]+=s:a[++o]=s:(a[++o]=null,l.push({i:o,x:$h(i,s)})),t=B6.lastIndex;return t180?d+=360:d-c>180&&(c+=360),h.push({i:u.push(s(u)+"rotate(",null,i)-2,x:$h(c,d)})):d&&u.push(s(u)+"rotate("+d+i)}function a(c,d,u,h){c!==d?h.push({i:u.push(s(u)+"skewX(",null,i)-2,x:$h(c,d)}):d&&u.push(s(u)+"skewX("+d+i)}function l(c,d,u,h,f,g){if(c!==u||d!==h){var m=f.push(s(f)+"scale(",null,",",null,")");g.push({i:m-4,x:$h(c,u)},{i:m-2,x:$h(d,h)})}else(u!==1||h!==1)&&f.push(s(f)+"scale("+u+","+h+")")}return function(c,d){var u=[],h=[];return c=n(c),d=n(d),r(c.translateX,c.translateY,d.translateX,d.translateY,u,h),o(c.rotate,d.rotate,u,h),a(c.skewX,d.skewX,u,h),l(c.scaleX,c.scaleY,d.scaleX,d.scaleY,u,h),c=d=null,function(f){for(var g=-1,m=h.length,_;++g=0&&n._call.call(void 0,e),n=n._next;--cS}function Oie(){Yw=(pP=oI.now())+JF,cS=Bk=0;try{GDe()}finally{cS=0,XDe(),Yw=0}}function YDe(){var n=oI.now(),e=n-pP;e>ppe&&(JF-=e,pP=n)}function XDe(){for(var n,e=gP,t,i=1/0;e;)e._call?(i>e._time&&(i=e._time),n=e,e=e._next):(t=e._next,e._next=null,e=n?n._next=t:gP=t);Wk=n,TH(i)}function TH(n){if(!cS){Bk&&(Bk=clearTimeout(Bk));var e=n-Yw;e>24?(n<1/0&&(Bk=setTimeout(Oie,n-oI.now()-JF)),KL&&(KL=clearInterval(KL))):(KL||(pP=oI.now(),KL=setInterval(YDe,ppe)),cS=1,mpe(Oie))}}function Fie(n,e,t){var i=new mP;return e=e==null?0:+e,i.restart(s=>{i.stop(),n(s+e)},e,t),i}var ZDe=ZF("start","end","cancel","interrupt"),QDe=[],bpe=0,Bie=1,RH=2,$M=3,Wie=4,MH=5,UM=6;function e8(n,e,t,i,s,r){var o=n.__transition;if(!o)n.__transition={};else if(t in o)return;JDe(n,t,{name:e,index:i,group:s,on:ZDe,tween:QDe,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:bpe})}function uX(n,e){var t=nh(n,e);if(t.state>bpe)throw new Error("too late; already scheduled");return t}function Mf(n,e){var t=nh(n,e);if(t.state>$M)throw new Error("too late; already running");return t}function nh(n,e){var t=n.__transition;if(!t||!(t=t[e]))throw new Error("transition not found");return t}function JDe(n,e,t){var i=n.__transition,s;i[e]=t,t.timer=_pe(r,0,t.time);function r(c){t.state=Bie,t.timer.restart(o,t.delay,t.time),t.delay<=c&&o(c-t.delay)}function o(c){var d,u,h,f;if(t.state!==Bie)return l();for(d in i)if(f=i[d],f.name===t.name){if(f.state===$M)return Fie(o);f.state===Wie?(f.state=UM,f.timer.stop(),f.on.call("interrupt",n,n.__data__,f.index,f.group),delete i[d]):+dRH&&i.state=0&&(e=e.slice(0,t)),!e||e==="start"})}function ITe(n,e,t){var i,s,r=ETe(e)?uX:Mf;return function(){var o=r(this,n),a=o.on;a!==i&&(s=(i=a).copy()).on(e,t),o.on=s}}function DTe(n,e){var t=this._id;return arguments.length<2?nh(this.node(),t).on.on(n):this.each(ITe(t,n,e))}function TTe(n){return function(){var e=this.parentNode;for(var t in this.__transition)if(+t!==n)return;e&&e.removeChild(this)}}function RTe(){return this.on("end.remove",TTe(this._id))}function MTe(n){var e=this._name,t=this._id;typeof n!="function"&&(n=oX(n));for(var i=this._groups,s=i.length,r=new Array(s),o=0;o()=>n;function s2e(n,{sourceEvent:e,target:t,transform:i,dispatch:s}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:t,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:s}})}function zg(n,e,t){this.k=n,this.x=e,this.y=t}zg.prototype={constructor:zg,scale:function(n){return n===1?this:new zg(this.k*n,this.x,this.y)},translate:function(n,e){return n===0&e===0?this:new zg(this.k,this.x+this.k*n,this.y+this.k*e)},apply:function(n){return[n[0]*this.k+this.x,n[1]*this.k+this.y]},applyX:function(n){return n*this.k+this.x},applyY:function(n){return n*this.k+this.y},invert:function(n){return[(n[0]-this.x)/this.k,(n[1]-this.y)/this.k]},invertX:function(n){return(n-this.x)/this.k},invertY:function(n){return(n-this.y)/this.k},rescaleX:function(n){return n.copy().domain(n.range().map(this.invertX,this).map(n.invert,n))},rescaleY:function(n){return n.copy().domain(n.range().map(this.invertY,this).map(n.invert,n))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var t8=new zg(1,0,0);ype.prototype=zg.prototype;function ype(n){for(;!n.__zoom;)if(!(n=n.parentNode))return t8;return n.__zoom}function W6(n){n.stopImmediatePropagation()}function GL(n){n.preventDefault(),n.stopImmediatePropagation()}function r2e(n){return(!n.ctrlKey||n.type==="wheel")&&!n.button}function o2e(){var n=this;return n instanceof SVGElement?(n=n.ownerSVGElement||n,n.hasAttribute("viewBox")?(n=n.viewBox.baseVal,[[n.x,n.y],[n.x+n.width,n.y+n.height]]):[[0,0],[n.width.baseVal.value,n.height.baseVal.value]]):[[0,0],[n.clientWidth,n.clientHeight]]}function Hie(){return this.__zoom||t8}function a2e(n){return-n.deltaY*(n.deltaMode===1?.05:n.deltaMode?1:.002)*(n.ctrlKey?10:1)}function l2e(){return navigator.maxTouchPoints||"ontouchstart"in this}function c2e(n,e,t){var i=n.invertX(e[0][0])-t[0][0],s=n.invertX(e[1][0])-t[1][0],r=n.invertY(e[0][1])-t[0][1],o=n.invertY(e[1][1])-t[1][1];return n.translate(s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s),o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o))}function xpe(){var n=r2e,e=o2e,t=c2e,i=a2e,s=l2e,r=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],a=250,l=zM,c=ZF("start","zoom","end"),d,u,h,f=500,g=150,m=0,_=10;function b(O){O.property("__zoom",Hie).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",D).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",P).on("touchend.zoom touchcancel.zoom",V).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(O,A,z,U){var W=O.selection?O.selection():O;W.property("__zoom",Hie),O!==W?x(O,A,z,U):W.interrupt().each(function(){S(this,arguments).event(U).start().zoom(null,typeof A=="function"?A.apply(this,arguments):A).end()})},b.scaleBy=function(O,A,z,U){b.scaleTo(O,function(){var W=this.__zoom.k,F=typeof A=="function"?A.apply(this,arguments):A;return W*F},z,U)},b.scaleTo=function(O,A,z,U){b.transform(O,function(){var W=e.apply(this,arguments),F=this.__zoom,q=z==null?y(W):typeof z=="function"?z.apply(this,arguments):z,Q=F.invert(q),J=typeof A=="function"?A.apply(this,arguments):A;return t(C(v(F,J),q,Q),W,o)},z,U)},b.translateBy=function(O,A,z,U){b.transform(O,function(){return t(this.__zoom.translate(typeof A=="function"?A.apply(this,arguments):A,typeof z=="function"?z.apply(this,arguments):z),e.apply(this,arguments),o)},null,U)},b.translateTo=function(O,A,z,U,W){b.transform(O,function(){var F=e.apply(this,arguments),q=this.__zoom,Q=U==null?y(F):typeof U=="function"?U.apply(this,arguments):U;return t(t8.translate(Q[0],Q[1]).scale(q.k).translate(typeof A=="function"?-A.apply(this,arguments):-A,typeof z=="function"?-z.apply(this,arguments):-z),F,o)},U,W)};function v(O,A){return A=Math.max(r[0],Math.min(r[1],A)),A===O.k?O:new zg(A,O.x,O.y)}function C(O,A,z){var U=A[0]-z[0]*O.k,W=A[1]-z[1]*O.k;return U===O.x&&W===O.y?O:new zg(O.k,U,W)}function y(O){return[(+O[0][0]+ +O[1][0])/2,(+O[0][1]+ +O[1][1])/2]}function x(O,A,z,U){O.on("start.zoom",function(){S(this,arguments).event(U).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(U).end()}).tween("zoom",function(){var W=this,F=arguments,q=S(W,F).event(U),Q=e.apply(W,F),J=z==null?y(Q):typeof z=="function"?z.apply(W,F):z,oe=Math.max(Q[1][0]-Q[0][0],Q[1][1]-Q[0][1]),pe=W.__zoom,ke=typeof A=="function"?A.apply(W,F):A,$e=l(pe.invert(J).concat(oe/pe.k),ke.invert(J).concat(oe/ke.k));return function(Xe){if(Xe===1)Xe=ke;else{var Re=$e(Xe),Je=oe/Re[2];Xe=new zg(Je,J[0]-Re[0]*Je,J[1]-Re[1]*Je)}q.zoom(null,Xe)}})}function S(O,A,z){return!z&&O.__zooming||new L(O,A)}function L(O,A){this.that=O,this.args=A,this.active=0,this.sourceEvent=null,this.extent=e.apply(O,A),this.taps=0}L.prototype={event:function(O){return O&&(this.sourceEvent=O),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(O,A){return this.mouse&&O!=="mouse"&&(this.mouse[1]=A.invert(this.mouse[0])),this.touch0&&O!=="touch"&&(this.touch0[1]=A.invert(this.touch0[0])),this.touch1&&O!=="touch"&&(this.touch1[1]=A.invert(this.touch1[0])),this.that.__zoom=A,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(O){var A=Dc(this.that).datum();c.call(O,this.that,new s2e(O,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:c}),A)}};function k(O,...A){if(!n.apply(this,arguments))return;var z=S(this,A).event(O),U=this.__zoom,W=Math.max(r[0],Math.min(r[1],U.k*Math.pow(2,i.apply(this,arguments)))),F=bu(O);if(z.wheel)(z.mouse[0][0]!==F[0]||z.mouse[0][1]!==F[1])&&(z.mouse[1]=U.invert(z.mouse[0]=F)),clearTimeout(z.wheel);else{if(U.k===W)return;z.mouse=[F,U.invert(F)],qM(this),z.start()}GL(O),z.wheel=setTimeout(q,g),z.zoom("mouse",t(C(v(U,W),z.mouse[0],z.mouse[1]),z.extent,o));function q(){z.wheel=null,z.end()}}function N(O,...A){if(h||!n.apply(this,arguments))return;var z=O.currentTarget,U=S(this,A,!0).event(O),W=Dc(O.view).on("mousemove.zoom",J,!0).on("mouseup.zoom",oe,!0),F=bu(O,z),q=O.clientX,Q=O.clientY;ope(O.view),W6(O),U.mouse=[F,this.__zoom.invert(F)],qM(this),U.start();function J(pe){if(GL(pe),!U.moved){var ke=pe.clientX-q,$e=pe.clientY-Q;U.moved=ke*ke+$e*$e>m}U.event(pe).zoom("mouse",t(C(U.that.__zoom,U.mouse[0]=bu(pe,z),U.mouse[1]),U.extent,o))}function oe(pe){W.on("mousemove.zoom mouseup.zoom",null),ape(pe.view,U.moved),GL(pe),U.event(pe).end()}}function D(O,...A){if(n.apply(this,arguments)){var z=this.__zoom,U=bu(O.changedTouches?O.changedTouches[0]:O,this),W=z.invert(U),F=z.k*(O.shiftKey?.5:2),q=t(C(v(z,F),U,W),e.apply(this,A),o);GL(O),a>0?Dc(this).transition().duration(a).call(x,q,U,O):Dc(this).call(b.transform,q,U,O)}}function M(O,...A){if(n.apply(this,arguments)){var z=O.touches,U=z.length,W=S(this,A,O.changedTouches.length===U).event(O),F,q,Q,J;for(W6(O),q=0;q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:n=>`Node type "${n}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:n=>`The old edge with id=${n} does not exist.`,error009:n=>`Marker type "${n}" doesn't exist.`,error008:(n,{id:e,sourceHandle:t,targetHandle:i})=>`Couldn't create edge for ${n} handle id: "${n==="source"?t:i}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:n=>`Edge type "${n}" not found. Using fallback type "default".`,error012:n=>`Node with id "${n}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(n="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${n}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},aI=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Spe=["Enter"," ","Escape"],Lpe={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:n,x:e,y:t})=>`Moved selected node ${n}. New position, x: ${e}, y: ${t}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var dS;(function(n){n.Strict="strict",n.Loose="loose"})(dS||(dS={}));var N1;(function(n){n.Free="free",n.Vertical="vertical",n.Horizontal="horizontal"})(N1||(N1={}));var lI;(function(n){n.Partial="partial",n.Full="full"})(lI||(lI={}));const kpe={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Mg;(function(n){n.Bezier="default",n.Straight="straight",n.Step="step",n.SmoothStep="smoothstep",n.SimpleBezier="simplebezier"})(Mg||(Mg={}));var Xw;(function(n){n.Arrow="arrow",n.ArrowClosed="arrowclosed"})(Xw||(Xw={}));var Wt;(function(n){n.Left="left",n.Top="top",n.Right="right",n.Bottom="bottom"})(Wt||(Wt={}));const Vie={[Wt.Left]:Wt.Right,[Wt.Right]:Wt.Left,[Wt.Top]:Wt.Bottom,[Wt.Bottom]:Wt.Top};function Npe(n){return n===null?null:n?"valid":"invalid"}const Epe=n=>"id"in n&&"source"in n&&"target"in n,d2e=n=>"id"in n&&"position"in n&&!("source"in n)&&!("target"in n),fX=n=>"id"in n&&"internals"in n&&!("source"in n)&&!("target"in n),gT=(n,e=[0,0])=>{const{width:t,height:i}=Yp(n),s=n.origin??e,r=t*s[0],o=i*s[1];return{x:n.position.x-r,y:n.position.y-o}},u2e=(n,e={nodeOrigin:[0,0]})=>{if(n.length===0)return{x:0,y:0,width:0,height:0};const t=n.reduce((i,s)=>{const r=typeof s=="string";let o=!e.nodeLookup&&!r?s:void 0;e.nodeLookup&&(o=r?e.nodeLookup.get(s):fX(s)?s:e.nodeLookup.get(s.id));const a=o?_P(o,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return i8(i,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n8(t)},pT=(n,e={})=>{let t={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return n.forEach(s=>{(e.filter===void 0||e.filter(s))&&(t=i8(t,_P(s)),i=!0)}),i?n8(t):{x:0,y:0,width:0,height:0}},gX=(n,e,[t,i,s]=[0,0,1],r=!1,o=!1)=>{const a={..._T(e,[t,i,s]),width:e.width/s,height:e.height/s},l=[];for(const c of n.values()){const{measured:d,selectable:u=!0,hidden:h=!1}=c;if(o&&!u||h)continue;const f=d.width??c.width??c.initialWidth??null,g=d.height??c.height??c.initialHeight??null,m=cI(a,hS(c)),_=(f??0)*(g??0),b=r&&m>0;(!c.internals.handleBounds||b||m>=_||c.dragging)&&l.push(c)}return l},h2e=(n,e)=>{const t=new Set;return n.forEach(i=>{t.add(i.id)}),e.filter(i=>t.has(i.source)||t.has(i.target))};function f2e(n,e){const t=new Map,i=e!=null&&e.nodes?new Set(e.nodes.map(s=>s.id)):null;return n.forEach(s=>{s.measured.width&&s.measured.height&&((e==null?void 0:e.includeHiddenNodes)||!s.hidden)&&(!i||i.has(s.id))&&t.set(s.id,s)}),t}async function g2e({nodes:n,width:e,height:t,panZoom:i,minZoom:s,maxZoom:r},o){if(n.size===0)return Promise.resolve(!0);const a=f2e(n,o),l=pT(a),c=pX(l,e,t,(o==null?void 0:o.minZoom)??s,(o==null?void 0:o.maxZoom)??r,(o==null?void 0:o.padding)??.1);return await i.setViewport(c,{duration:o==null?void 0:o.duration,ease:o==null?void 0:o.ease,interpolate:o==null?void 0:o.interpolate}),Promise.resolve(!0)}function Ipe({nodeId:n,nextPosition:e,nodeLookup:t,nodeOrigin:i=[0,0],nodeExtent:s,onError:r}){const o=t.get(n),a=o.parentId?t.get(o.parentId):void 0,{x:l,y:c}=a?a.internals.positionAbsolute:{x:0,y:0},d=o.origin??i;let u=o.extent||s;if(o.extent==="parent"&&!o.expandParent)if(!a)r==null||r("005",Cf.error005());else{const f=a.measured.width,g=a.measured.height;f&&g&&(u=[[l,c],[l+f,c+g]])}else a&&fS(o.extent)&&(u=[[o.extent[0][0]+l,o.extent[0][1]+c],[o.extent[1][0]+l,o.extent[1][1]+c]]);const h=fS(u)?Zw(e,u,o.measured):e;return(o.measured.width===void 0||o.measured.height===void 0)&&(r==null||r("015",Cf.error015())),{position:{x:h.x-l+(o.measured.width??0)*d[0],y:h.y-c+(o.measured.height??0)*d[1]},positionAbsolute:h}}async function p2e({nodesToRemove:n=[],edgesToRemove:e=[],nodes:t,edges:i,onBeforeDelete:s}){const r=new Set(n.map(h=>h.id)),o=[];for(const h of t){if(h.deletable===!1)continue;const f=r.has(h.id),g=!f&&h.parentId&&o.find(m=>m.id===h.parentId);(f||g)&&o.push(h)}const a=new Set(e.map(h=>h.id)),l=i.filter(h=>h.deletable!==!1),d=h2e(o,l);for(const h of l)a.has(h.id)&&!d.find(g=>g.id===h.id)&&d.push(h);if(!s)return{edges:d,nodes:o};const u=await s({nodes:o,edges:d});return typeof u=="boolean"?u?{edges:d,nodes:o}:{edges:[],nodes:[]}:u}const uS=(n,e=0,t=1)=>Math.min(Math.max(n,e),t),Zw=(n={x:0,y:0},e,t)=>({x:uS(n.x,e[0][0],e[1][0]-((t==null?void 0:t.width)??0)),y:uS(n.y,e[0][1],e[1][1]-((t==null?void 0:t.height)??0))});function Dpe(n,e,t){const{width:i,height:s}=Yp(t),{x:r,y:o}=t.internals.positionAbsolute;return Zw(n,[[r,o],[r+i,o+s]],e)}const jie=(n,e,t)=>nt?-uS(Math.abs(n-t),1,e)/e:0,Tpe=(n,e,t=15,i=40)=>{const s=jie(n.x,i,e.width-i)*t,r=jie(n.y,i,e.height-i)*t;return[s,r]},i8=(n,e)=>({x:Math.min(n.x,e.x),y:Math.min(n.y,e.y),x2:Math.max(n.x2,e.x2),y2:Math.max(n.y2,e.y2)}),AH=({x:n,y:e,width:t,height:i})=>({x:n,y:e,x2:n+t,y2:e+i}),n8=({x:n,y:e,x2:t,y2:i})=>({x:n,y:e,width:t-n,height:i-e}),hS=(n,e=[0,0])=>{var s,r;const{x:t,y:i}=fX(n)?n.internals.positionAbsolute:gT(n,e);return{x:t,y:i,width:((s=n.measured)==null?void 0:s.width)??n.width??n.initialWidth??0,height:((r=n.measured)==null?void 0:r.height)??n.height??n.initialHeight??0}},_P=(n,e=[0,0])=>{var s,r;const{x:t,y:i}=fX(n)?n.internals.positionAbsolute:gT(n,e);return{x:t,y:i,x2:t+(((s=n.measured)==null?void 0:s.width)??n.width??n.initialWidth??0),y2:i+(((r=n.measured)==null?void 0:r.height)??n.height??n.initialHeight??0)}},Rpe=(n,e)=>n8(i8(AH(n),AH(e))),cI=(n,e)=>{const t=Math.max(0,Math.min(n.x+n.width,e.x+e.width)-Math.max(n.x,e.x)),i=Math.max(0,Math.min(n.y+n.height,e.y+e.height)-Math.max(n.y,e.y));return Math.ceil(t*i)},zie=n=>Mu(n.width)&&Mu(n.height)&&Mu(n.x)&&Mu(n.y),Mu=n=>!isNaN(n)&&isFinite(n),m2e=(n,e)=>{},mT=(n,e=[1,1])=>({x:e[0]*Math.round(n.x/e[0]),y:e[1]*Math.round(n.y/e[1])}),_T=({x:n,y:e},[t,i,s],r=!1,o=[1,1])=>{const a={x:(n-t)/s,y:(e-i)/s};return r?mT(a,o):a},bP=({x:n,y:e},[t,i,s])=>({x:n*s+t,y:e*s+i});function dC(n,e){if(typeof n=="number")return Math.floor((e-e/(1+n))*.5);if(typeof n=="string"&&n.endsWith("px")){const t=parseFloat(n);if(!Number.isNaN(t))return Math.floor(t)}if(typeof n=="string"&&n.endsWith("%")){const t=parseFloat(n);if(!Number.isNaN(t))return Math.floor(e*t*.01)}return console.error(`[React Flow] The padding value "${n}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function _2e(n,e,t){if(typeof n=="string"||typeof n=="number"){const i=dC(n,t),s=dC(n,e);return{top:i,right:s,bottom:i,left:s,x:s*2,y:i*2}}if(typeof n=="object"){const i=dC(n.top??n.y??0,t),s=dC(n.bottom??n.y??0,t),r=dC(n.left??n.x??0,e),o=dC(n.right??n.x??0,e);return{top:i,right:o,bottom:s,left:r,x:r+o,y:i+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function b2e(n,e,t,i,s,r){const{x:o,y:a}=bP(n,[e,t,i]),{x:l,y:c}=bP({x:n.x+n.width,y:n.y+n.height},[e,t,i]),d=s-l,u=r-c;return{left:Math.floor(o),top:Math.floor(a),right:Math.floor(d),bottom:Math.floor(u)}}const pX=(n,e,t,i,s,r)=>{const o=_2e(r,e,t),a=(e-o.x)/n.width,l=(t-o.y)/n.height,c=Math.min(a,l),d=uS(c,i,s),u=n.x+n.width/2,h=n.y+n.height/2,f=e/2-u*d,g=t/2-h*d,m=b2e(n,f,g,d,e,t),_={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-_.left+_.right,y:g-_.top+_.bottom,zoom:d}},dI=()=>{var n;return typeof navigator<"u"&&((n=navigator==null?void 0:navigator.userAgent)==null?void 0:n.indexOf("Mac"))>=0};function fS(n){return n!=null&&n!=="parent"}function Yp(n){var e,t;return{width:((e=n.measured)==null?void 0:e.width)??n.width??n.initialWidth??0,height:((t=n.measured)==null?void 0:t.height)??n.height??n.initialHeight??0}}function Mpe(n){var e,t;return(((e=n.measured)==null?void 0:e.width)??n.width??n.initialWidth)!==void 0&&(((t=n.measured)==null?void 0:t.height)??n.height??n.initialHeight)!==void 0}function Ape(n,e={width:0,height:0},t,i,s){const r={...n},o=i.get(t);if(o){const a=o.origin||s;r.x+=o.internals.positionAbsolute.x-(e.width??0)*a[0],r.y+=o.internals.positionAbsolute.y-(e.height??0)*a[1]}return r}function $ie(n,e){if(n.size!==e.size)return!1;for(const t of n)if(!e.has(t))return!1;return!0}function v2e(){let n,e;return{promise:new Promise((i,s)=>{n=i,e=s}),resolve:n,reject:e}}function w2e(n){return{...Lpe,...n||{}}}function CN(n,{snapGrid:e=[0,0],snapToGrid:t=!1,transform:i,containerBounds:s}){const{x:r,y:o}=Au(n),a=_T({x:r-((s==null?void 0:s.left)??0),y:o-((s==null?void 0:s.top)??0)},i),{x:l,y:c}=t?mT(a,e):a;return{xSnapped:l,ySnapped:c,...a}}const mX=n=>({width:n.offsetWidth,height:n.offsetHeight}),Ppe=n=>{var e;return((e=n==null?void 0:n.getRootNode)==null?void 0:e.call(n))||(window==null?void 0:window.document)},C2e=["INPUT","SELECT","TEXTAREA"];function Ope(n){var i,s;const e=((s=(i=n.composedPath)==null?void 0:i.call(n))==null?void 0:s[0])||n.target;return(e==null?void 0:e.nodeType)!==1?!1:C2e.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}const Fpe=n=>"clientX"in n,Au=(n,e)=>{var r,o;const t=Fpe(n),i=t?n.clientX:(r=n.touches)==null?void 0:r[0].clientX,s=t?n.clientY:(o=n.touches)==null?void 0:o[0].clientY;return{x:i-((e==null?void 0:e.left)??0),y:s-((e==null?void 0:e.top)??0)}},Uie=(n,e,t,i,s)=>{const r=e.querySelectorAll(`.${n}`);return!r||!r.length?null:Array.from(r).map(o=>{const a=o.getBoundingClientRect();return{id:o.getAttribute("data-handleid"),type:n,nodeId:s,position:o.getAttribute("data-handlepos"),x:(a.left-t.left)/i,y:(a.top-t.top)/i,...mX(o)}})};function Bpe({sourceX:n,sourceY:e,targetX:t,targetY:i,sourceControlX:s,sourceControlY:r,targetControlX:o,targetControlY:a}){const l=n*.125+s*.375+o*.375+t*.125,c=e*.125+r*.375+a*.375+i*.125,d=Math.abs(l-n),u=Math.abs(c-e);return[l,c,d,u]}function H2(n,e){return n>=0?.5*n:e*25*Math.sqrt(-n)}function qie({pos:n,x1:e,y1:t,x2:i,y2:s,c:r}){switch(n){case Wt.Left:return[e-H2(e-i,r),t];case Wt.Right:return[e+H2(i-e,r),t];case Wt.Top:return[e,t-H2(t-s,r)];case Wt.Bottom:return[e,t+H2(s-t,r)]}}function Wpe({sourceX:n,sourceY:e,sourcePosition:t=Wt.Bottom,targetX:i,targetY:s,targetPosition:r=Wt.Top,curvature:o=.25}){const[a,l]=qie({pos:t,x1:n,y1:e,x2:i,y2:s,c:o}),[c,d]=qie({pos:r,x1:i,y1:s,x2:n,y2:e,c:o}),[u,h,f,g]=Bpe({sourceX:n,sourceY:e,targetX:i,targetY:s,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:d});return[`M${n},${e} C${a},${l} ${c},${d} ${i},${s}`,u,h,f,g]}function Hpe({sourceX:n,sourceY:e,targetX:t,targetY:i}){const s=Math.abs(t-n)/2,r=t0}const S2e=({source:n,sourceHandle:e,target:t,targetHandle:i})=>`xy-edge__${n}${e||""}-${t}${i||""}`,L2e=(n,e)=>e.some(t=>t.source===n.source&&t.target===n.target&&(t.sourceHandle===n.sourceHandle||!t.sourceHandle&&!n.sourceHandle)&&(t.targetHandle===n.targetHandle||!t.targetHandle&&!n.targetHandle)),k2e=(n,e,t={})=>{if(!n.source||!n.target)return e;const i=t.getEdgeId||S2e;let s;return Epe(n)?s={...n}:s={...n,id:i(n)},L2e(s,e)?e:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,e.concat(s))};function Vpe({sourceX:n,sourceY:e,targetX:t,targetY:i}){const[s,r,o,a]=Hpe({sourceX:n,sourceY:e,targetX:t,targetY:i});return[`M ${n},${e}L ${t},${i}`,s,r,o,a]}const Kie={[Wt.Left]:{x:-1,y:0},[Wt.Right]:{x:1,y:0},[Wt.Top]:{x:0,y:-1},[Wt.Bottom]:{x:0,y:1}},N2e=({source:n,sourcePosition:e=Wt.Bottom,target:t})=>e===Wt.Left||e===Wt.Right?n.xMath.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2));function E2e({source:n,sourcePosition:e=Wt.Bottom,target:t,targetPosition:i=Wt.Top,center:s,offset:r,stepPosition:o}){const a=Kie[e],l=Kie[i],c={x:n.x+a.x*r,y:n.y+a.y*r},d={x:t.x+l.x*r,y:t.y+l.y*r},u=N2e({source:c,sourcePosition:e,target:d}),h=u.x!==0?"x":"y",f=u[h];let g=[],m,_;const b={x:0,y:0},v={x:0,y:0},[,,C,y]=Hpe({sourceX:n.x,sourceY:n.y,targetX:t.x,targetY:t.y});if(a[h]*l[h]===-1){h==="x"?(m=s.x??c.x+(d.x-c.x)*o,_=s.y??(c.y+d.y)/2):(m=s.x??(c.x+d.x)/2,_=s.y??c.y+(d.y-c.y)*o);const k=[{x:m,y:c.y},{x:m,y:d.y}],N=[{x:c.x,y:_},{x:d.x,y:_}];a[h]===f?g=h==="x"?k:N:g=h==="x"?N:k}else{const k=[{x:c.x,y:d.y}],N=[{x:d.x,y:c.y}];if(h==="x"?g=a.x===f?N:k:g=a.y===f?k:N,e===i){const O=Math.abs(n[h]-t[h]);if(O<=r){const A=Math.min(r-1,r-O);a[h]===f?b[h]=(c[h]>n[h]?-1:1)*A:v[h]=(d[h]>t[h]?-1:1)*A}}if(e!==i){const O=h==="x"?"y":"x",A=a[h]===l[O],z=c[O]>d[O],U=c[O]=V?(m=(D.x+M.x)/2,_=g[0].y):(m=g[0].x,_=(D.y+M.y)/2)}const x={x:c.x+b.x,y:c.y+b.y},S={x:d.x+v.x,y:d.y+v.y};return[[n,...x.x!==g[0].x||x.y!==g[0].y?[x]:[],...g,...S.x!==g[g.length-1].x||S.y!==g[g.length-1].y?[S]:[],t],m,_,C,y]}function I2e(n,e,t,i){const s=Math.min(Gie(n,e)/2,Gie(e,t)/2,i),{x:r,y:o}=e;if(n.x===r&&r===t.x||n.y===o&&o===t.y)return`L${r} ${o}`;if(n.y===o){const c=n.xt.id===e):n[0])||null}function OH(n,e){return n?typeof n=="string"?n:`${e?`${e}__`:""}${Object.keys(n).sort().map(i=>`${i}=${n[i]}`).join("&")}`:""}function T2e(n,{id:e,defaultColor:t,defaultMarkerStart:i,defaultMarkerEnd:s}){const r=new Set;return n.reduce((o,a)=>([a.markerStart||i,a.markerEnd||s].forEach(l=>{if(l&&typeof l=="object"){const c=OH(l,e);r.has(c)||(o.push({id:c,color:l.color||t,...l}),r.add(c))}}),o),[]).sort((o,a)=>o.id.localeCompare(a.id))}const jpe=1e3,R2e=10,_X={nodeOrigin:[0,0],nodeExtent:aI,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},M2e={..._X,checkEquality:!0};function bX(n,e){const t={...n};for(const i in e)e[i]!==void 0&&(t[i]=e[i]);return t}function A2e(n,e,t){const i=bX(_X,t);for(const s of n.values())if(s.parentId)wX(s,n,e,i);else{const r=gT(s,i.nodeOrigin),o=fS(s.extent)?s.extent:i.nodeExtent,a=Zw(r,o,Yp(s));s.internals.positionAbsolute=a}}function P2e(n,e){if(!n.handles)return n.measured?e==null?void 0:e.internals.handleBounds:void 0;const t=[],i=[];for(const s of n.handles){const r={id:s.id,width:s.width??1,height:s.height??1,nodeId:n.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?t.push(r):s.type==="target"&&i.push(r)}return{source:t,target:i}}function vX(n){return n==="manual"}function FH(n,e,t,i={}){var d,u;const s=bX(M2e,i),r={i:0},o=new Map(e),a=s!=null&&s.elevateNodesOnSelect&&!vX(s.zIndexMode)?jpe:0;let l=n.length>0,c=!1;e.clear(),t.clear();for(const h of n){let f=o.get(h.id);if(s.checkEquality&&h===(f==null?void 0:f.internals.userNode))e.set(h.id,f);else{const g=gT(h,s.nodeOrigin),m=fS(h.extent)?h.extent:s.nodeExtent,_=Zw(g,m,Yp(h));f={...s.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(u=h.measured)==null?void 0:u.height},internals:{positionAbsolute:_,handleBounds:P2e(h,f),z:zpe(h,a,s.zIndexMode),userNode:h}},e.set(h.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(l=!1),h.parentId&&wX(f,e,t,i,r),c||(c=h.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:c}}function O2e(n,e){if(!n.parentId)return;const t=e.get(n.parentId);t?t.set(n.id,n):e.set(n.parentId,new Map([[n.id,n]]))}function wX(n,e,t,i,s){const{elevateNodesOnSelect:r,nodeOrigin:o,nodeExtent:a,zIndexMode:l}=bX(_X,i),c=n.parentId,d=e.get(c);if(!d){console.warn(`Parent node ${c} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}O2e(n,t),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*R2e),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const u=r&&!vX(l)?jpe:0,{x:h,y:f,z:g}=F2e(n,d,o,a,u,l),{positionAbsolute:m}=n.internals,_=h!==m.x||f!==m.y;(_||g!==n.internals.z)&&e.set(n.id,{...n,internals:{...n.internals,positionAbsolute:_?{x:h,y:f}:m,z:g}})}function zpe(n,e,t){const i=Mu(n.zIndex)?n.zIndex:0;return vX(t)?i:i+(n.selected?e:0)}function F2e(n,e,t,i,s,r){const{x:o,y:a}=e.internals.positionAbsolute,l=Yp(n),c=gT(n,t),d=fS(n.extent)?Zw(c,n.extent,l):c;let u=Zw({x:o+d.x,y:a+d.y},i,l);n.extent==="parent"&&(u=Dpe(u,l,e));const h=zpe(n,s,r),f=e.internals.z??0;return{x:u.x,y:u.y,z:f>=h?f+1:h}}function CX(n,e,t,i=[0,0]){var o;const s=[],r=new Map;for(const a of n){const l=e.get(a.parentId);if(!l)continue;const c=((o=r.get(a.parentId))==null?void 0:o.expandedRect)??hS(l),d=Rpe(c,a.rect);r.set(a.parentId,{expandedRect:d,parent:l})}return r.size>0&&r.forEach(({expandedRect:a,parent:l},c)=>{var C;const d=l.internals.positionAbsolute,u=Yp(l),h=l.origin??i,f=a.x0||g>0||b||v)&&(s.push({id:c,type:"position",position:{x:l.position.x-f+b,y:l.position.y-g+v}}),(C=t.get(c))==null||C.forEach(y=>{n.some(x=>x.id===y.id)||s.push({id:y.id,type:"position",position:{x:y.position.x+f,y:y.position.y+g}})})),(u.width0){const f=CX(h,e,t,s);c.push(...f)}return{changes:c,updatedInternals:l}}async function W2e({delta:n,panZoom:e,transform:t,translateExtent:i,width:s,height:r}){if(!e||!n.x&&!n.y)return Promise.resolve(!1);const o=await e.setViewportConstrained({x:t[0]+n.x,y:t[1]+n.y,zoom:t[2]},[[0,0],[s,r]],i),a=!!o&&(o.x!==t[0]||o.y!==t[1]||o.k!==t[2]);return Promise.resolve(a)}function Qie(n,e,t,i,s,r){let o=s;const a=i.get(o)||new Map;i.set(o,a.set(t,e)),o=`${s}-${n}`;const l=i.get(o)||new Map;if(i.set(o,l.set(t,e)),r){o=`${s}-${n}-${r}`;const c=i.get(o)||new Map;i.set(o,c.set(t,e))}}function $pe(n,e,t){n.clear(),e.clear();for(const i of t){const{source:s,target:r,sourceHandle:o=null,targetHandle:a=null}=i,l={edgeId:i.id,source:s,target:r,sourceHandle:o,targetHandle:a},c=`${s}-${o}--${r}-${a}`,d=`${r}-${a}--${s}-${o}`;Qie("source",l,d,n,s,o),Qie("target",l,c,n,r,a),e.set(i.id,i)}}function Upe(n,e){if(!n.parentId)return!1;const t=e.get(n.parentId);return t?t.selected?!0:Upe(t,e):!1}function Jie(n,e,t){var s;let i=n;do{if((s=i==null?void 0:i.matches)!=null&&s.call(i,e))return!0;if(i===t)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function H2e(n,e,t,i){const s=new Map;for(const[r,o]of n)if((o.selected||o.id===i)&&(!o.parentId||!Upe(o,n))&&(o.draggable||e&&typeof o.draggable>"u")){const a=n.get(r);a&&s.set(r,{id:r,position:a.position||{x:0,y:0},distance:{x:t.x-a.internals.positionAbsolute.x,y:t.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return s}function H6({nodeId:n,dragItems:e,nodeLookup:t,dragging:i=!0}){var o,a,l;const s=[];for(const[c,d]of e){const u=(o=t.get(c))==null?void 0:o.internals.userNode;u&&s.push({...u,position:d.position,dragging:i})}if(!n)return[s[0],s];const r=(a=t.get(n))==null?void 0:a.internals.userNode;return[r?{...r,position:((l=e.get(n))==null?void 0:l.position)||r.position,dragging:i}:s[0],s]}function V2e({dragItems:n,snapGrid:e,x:t,y:i}){const s=n.values().next().value;if(!s)return null;const r={x:t-s.distance.x,y:i-s.distance.y},o=mT(r,e);return{x:o.x-r.x,y:o.y-r.y}}function j2e({onNodeMouseDown:n,getStoreItems:e,onDragStart:t,onDrag:i,onDragStop:s}){let r={x:null,y:null},o=0,a=new Map,l=!1,c={x:0,y:0},d=null,u=!1,h=null,f=!1,g=!1,m=null;function _({noDragClassName:v,handleSelector:C,domNode:y,isSelectable:x,nodeId:S,nodeClickDistance:L=0}){h=Dc(y);function k({x:P,y:V}){const{nodeLookup:O,nodeExtent:A,snapGrid:z,snapToGrid:U,nodeOrigin:W,onNodeDrag:F,onSelectionDrag:q,onError:Q,updateNodePositions:J}=e();r={x:P,y:V};let oe=!1;const pe=a.size>1,ke=pe&&A?AH(pT(a)):null,$e=pe&&U?V2e({dragItems:a,snapGrid:z,x:P,y:V}):null;for(const[Xe,Re]of a){if(!O.has(Xe))continue;let Je={x:P-Re.distance.x,y:V-Re.distance.y};U&&(Je=$e?{x:Math.round(Je.x+$e.x),y:Math.round(Je.y+$e.y)}:mT(Je,z));let dt=null;if(pe&&A&&!Re.extent&&ke){const{positionAbsolute:Ae}=Re.internals,Ct=Ae.x-ke.x+A[0][0],Ut=Ae.x+Re.measured.width-ke.x2+A[1][0],Be=Ae.y-ke.y+A[0][1],di=Ae.y+Re.measured.height-ke.y2+A[1][1];dt=[[Ct,Be],[Ut,di]]}const{position:wt,positionAbsolute:Fe}=Ipe({nodeId:Xe,nextPosition:Je,nodeLookup:O,nodeExtent:dt||A,nodeOrigin:W,onError:Q});oe=oe||Re.position.x!==wt.x||Re.position.y!==wt.y,Re.position=wt,Re.internals.positionAbsolute=Fe}if(g=g||oe,!!oe&&(J(a,!0),m&&(i||F||!S&&q))){const[Xe,Re]=H6({nodeId:S,dragItems:a,nodeLookup:O});i==null||i(m,a,Xe,Re),F==null||F(m,Xe,Re),S||q==null||q(m,Re)}}async function N(){if(!d)return;const{transform:P,panBy:V,autoPanSpeed:O,autoPanOnNodeDrag:A}=e();if(!A){l=!1,cancelAnimationFrame(o);return}const[z,U]=Tpe(c,d,O);(z!==0||U!==0)&&(r.x=(r.x??0)-z/P[2],r.y=(r.y??0)-U/P[2],await V({x:z,y:U})&&k(r)),o=requestAnimationFrame(N)}function D(P){var pe;const{nodeLookup:V,multiSelectionActive:O,nodesDraggable:A,transform:z,snapGrid:U,snapToGrid:W,selectNodesOnDrag:F,onNodeDragStart:q,onSelectionDragStart:Q,unselectNodesAndEdges:J}=e();u=!0,(!F||!x)&&!O&&S&&((pe=V.get(S))!=null&&pe.selected||J()),x&&F&&S&&(n==null||n(S));const oe=CN(P.sourceEvent,{transform:z,snapGrid:U,snapToGrid:W,containerBounds:d});if(r=oe,a=H2e(V,A,oe,S),a.size>0&&(t||q||!S&&Q)){const[ke,$e]=H6({nodeId:S,dragItems:a,nodeLookup:V});t==null||t(P.sourceEvent,a,ke,$e),q==null||q(P.sourceEvent,ke,$e),S||Q==null||Q(P.sourceEvent,$e)}}const M=lpe().clickDistance(L).on("start",P=>{const{domNode:V,nodeDragThreshold:O,transform:A,snapGrid:z,snapToGrid:U}=e();d=(V==null?void 0:V.getBoundingClientRect())||null,f=!1,g=!1,m=P.sourceEvent,O===0&&D(P),r=CN(P.sourceEvent,{transform:A,snapGrid:z,snapToGrid:U,containerBounds:d}),c=Au(P.sourceEvent,d)}).on("drag",P=>{const{autoPanOnNodeDrag:V,transform:O,snapGrid:A,snapToGrid:z,nodeDragThreshold:U,nodeLookup:W}=e(),F=CN(P.sourceEvent,{transform:O,snapGrid:A,snapToGrid:z,containerBounds:d});if(m=P.sourceEvent,(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1||S&&!W.has(S))&&(f=!0),!f){if(!l&&V&&u&&(l=!0,N()),!u){const q=Au(P.sourceEvent,d),Q=q.x-c.x,J=q.y-c.y;Math.sqrt(Q*Q+J*J)>U&&D(P)}(r.x!==F.xSnapped||r.y!==F.ySnapped)&&a&&u&&(c=Au(P.sourceEvent,d),k(F))}}).on("end",P=>{if(!(!u||f)&&(l=!1,u=!1,cancelAnimationFrame(o),a.size>0)){const{nodeLookup:V,updateNodePositions:O,onNodeDragStop:A,onSelectionDragStop:z}=e();if(g&&(O(a,!1),g=!1),s||A||!S&&z){const[U,W]=H6({nodeId:S,dragItems:a,nodeLookup:V,dragging:!1});s==null||s(P.sourceEvent,a,U,W),A==null||A(P.sourceEvent,U,W),S||z==null||z(P.sourceEvent,W)}}}).filter(P=>{const V=P.target;return!P.button&&(!v||!Jie(V,`.${v}`,y))&&(!C||Jie(V,C,y))});h.call(M)}function b(){h==null||h.on(".drag",null)}return{update:_,destroy:b}}function z2e(n,e,t){const i=[],s={x:n.x-t,y:n.y-t,width:t*2,height:t*2};for(const r of e.values())cI(s,hS(r))>0&&i.push(r);return i}const $2e=250;function U2e(n,e,t,i){var a,l;let s=[],r=1/0;const o=z2e(n,t,e+$2e);for(const c of o){const d=[...((a=c.internals.handleBounds)==null?void 0:a.source)??[],...((l=c.internals.handleBounds)==null?void 0:l.target)??[]];for(const u of d){if(i.nodeId===u.nodeId&&i.type===u.type&&i.id===u.id)continue;const{x:h,y:f}=Qw(c,u,u.position,!0),g=Math.sqrt(Math.pow(h-n.x,2)+Math.pow(f-n.y,2));g>e||(g1){const c=i.type==="source"?"target":"source";return s.find(d=>d.type===c)??s[0]}return s[0]}function qpe(n,e,t,i,s,r=!1){var c,d,u;const o=i.get(n);if(!o)return null;const a=s==="strict"?(c=o.internals.handleBounds)==null?void 0:c[e]:[...((d=o.internals.handleBounds)==null?void 0:d.source)??[],...((u=o.internals.handleBounds)==null?void 0:u.target)??[]],l=(t?a==null?void 0:a.find(h=>h.id===t):a==null?void 0:a[0])??null;return l&&r?{...l,...Qw(o,l,l.position,!0)}:l}function Kpe(n,e){return n||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function q2e(n,e){let t=null;return e?t=!0:n&&!e&&(t=!1),t}const Gpe=()=>!0;function K2e(n,{connectionMode:e,connectionRadius:t,handleId:i,nodeId:s,edgeUpdaterType:r,isTarget:o,domNode:a,nodeLookup:l,lib:c,autoPanOnConnect:d,flowId:u,panBy:h,cancelConnection:f,onConnectStart:g,onConnect:m,onConnectEnd:_,isValidConnection:b=Gpe,onReconnectEnd:v,updateConnection:C,getTransform:y,getFromHandle:x,autoPanSpeed:S,dragThreshold:L=1,handleDomNode:k}){const N=Ppe(n.target);let D=0,M;const{x:P,y:V}=Au(n),O=Kpe(r,k),A=a==null?void 0:a.getBoundingClientRect();let z=!1;if(!A||!O)return;const U=qpe(s,O,i,l,e);if(!U)return;let W=Au(n,A),F=!1,q=null,Q=!1,J=null;function oe(){if(!d||!A)return;const[wt,Fe]=Tpe(W,A,S);h({x:wt,y:Fe}),D=requestAnimationFrame(oe)}const pe={...U,nodeId:s,type:O,position:U.position},ke=l.get(s);let Xe={inProgress:!0,isValid:null,from:Qw(ke,pe,Wt.Left,!0),fromHandle:pe,fromPosition:pe.position,fromNode:ke,to:W,toHandle:null,toPosition:Vie[pe.position],toNode:null,pointer:W};function Re(){z=!0,C(Xe),g==null||g(n,{nodeId:s,handleId:i,handleType:O})}L===0&&Re();function Je(wt){if(!z){const{x:di,y:xi}=Au(wt),yn=di-P,Ye=xi-V;if(!(yn*yn+Ye*Ye>L*L))return;Re()}if(!x()||!pe){dt(wt);return}const Fe=y();W=Au(wt,A),M=U2e(_T(W,Fe,!1,[1,1]),t,l,pe),F||(oe(),F=!0);const Ae=Ype(wt,{handle:M,connectionMode:e,fromNodeId:s,fromHandleId:i,fromType:o?"target":"source",isValidConnection:b,doc:N,lib:c,flowId:u,nodeLookup:l});J=Ae.handleDomNode,q=Ae.connection,Q=q2e(!!M,Ae.isValid);const Ct=l.get(s),Ut=Ct?Qw(Ct,pe,Wt.Left,!0):Xe.from,Be={...Xe,from:Ut,isValid:Q,to:Ae.toHandle&&Q?bP({x:Ae.toHandle.x,y:Ae.toHandle.y},Fe):W,toHandle:Ae.toHandle,toPosition:Q&&Ae.toHandle?Ae.toHandle.position:Vie[pe.position],toNode:Ae.toHandle?l.get(Ae.toHandle.nodeId):null,pointer:W};C(Be),Xe=Be}function dt(wt){if(!("touches"in wt&&wt.touches.length>0)){if(z){(M||J)&&q&&Q&&(m==null||m(q));const{inProgress:Fe,...Ae}=Xe,Ct={...Ae,toPosition:Xe.toHandle?Xe.toPosition:null};_==null||_(wt,Ct),r&&(v==null||v(wt,Ct))}f(),cancelAnimationFrame(D),F=!1,Q=!1,q=null,J=null,N.removeEventListener("mousemove",Je),N.removeEventListener("mouseup",dt),N.removeEventListener("touchmove",Je),N.removeEventListener("touchend",dt)}}N.addEventListener("mousemove",Je),N.addEventListener("mouseup",dt),N.addEventListener("touchmove",Je),N.addEventListener("touchend",dt)}function Ype(n,{handle:e,connectionMode:t,fromNodeId:i,fromHandleId:s,fromType:r,doc:o,lib:a,flowId:l,isValidConnection:c=Gpe,nodeLookup:d}){const u=r==="target",h=e?o.querySelector(`.${a}-flow__handle[data-id="${l}-${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`):null,{x:f,y:g}=Au(n),m=o.elementFromPoint(f,g),_=m!=null&&m.classList.contains(`${a}-flow__handle`)?m:h,b={handleDomNode:_,isValid:!1,connection:null,toHandle:null};if(_){const v=Kpe(void 0,_),C=_.getAttribute("data-nodeid"),y=_.getAttribute("data-handleid"),x=_.classList.contains("connectable"),S=_.classList.contains("connectableend");if(!C||!v)return b;const L={source:u?C:i,sourceHandle:u?y:s,target:u?i:C,targetHandle:u?s:y};b.connection=L;const N=x&&S&&(t===dS.Strict?u&&v==="source"||!u&&v==="target":C!==i||y!==s);b.isValid=N&&c(L),b.toHandle=qpe(C,v,y,d,t,!0)}return b}const BH={onPointerDown:K2e,isValid:Ype};function G2e({domNode:n,panZoom:e,getTransform:t,getViewScale:i}){const s=Dc(n);function r({translateExtent:a,width:l,height:c,zoomStep:d=1,pannable:u=!0,zoomable:h=!0,inversePan:f=!1}){const g=C=>{if(C.sourceEvent.type!=="wheel"||!e)return;const y=t(),x=C.sourceEvent.ctrlKey&&dI()?10:1,S=-C.sourceEvent.deltaY*(C.sourceEvent.deltaMode===1?.05:C.sourceEvent.deltaMode?1:.002)*d,L=y[2]*Math.pow(2,S*x);e.scaleTo(L)};let m=[0,0];const _=C=>{(C.sourceEvent.type==="mousedown"||C.sourceEvent.type==="touchstart")&&(m=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY])},b=C=>{const y=t();if(C.sourceEvent.type!=="mousemove"&&C.sourceEvent.type!=="touchmove"||!e)return;const x=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY],S=[x[0]-m[0],x[1]-m[1]];m=x;const L=i()*Math.max(y[2],Math.log(y[2]))*(f?-1:1),k={x:y[0]-S[0]*L,y:y[1]-S[1]*L},N=[[0,0],[l,c]];e.setViewportConstrained({x:k.x,y:k.y,zoom:y[2]},N,a)},v=xpe().on("start",_).on("zoom",u?b:null).on("zoom.wheel",h?g:null);s.call(v,{})}function o(){s.on("zoom",null)}return{update:r,destroy:o,pointer:bu}}const s8=n=>({x:n.x,y:n.y,zoom:n.k}),V6=({x:n,y:e,zoom:t})=>t8.translate(n,e).scale(t),hy=(n,e)=>n.target.closest(`.${e}`),Xpe=(n,e)=>e===2&&Array.isArray(n)&&n.includes(2),Y2e=n=>((n*=2)<=1?n*n*n:(n-=2)*n*n+2)/2,j6=(n,e=0,t=Y2e,i=()=>{})=>{const s=typeof e=="number"&&e>0;return s||i(),s?n.transition().duration(e).ease(t).on("end",i):n},Zpe=n=>{const e=n.ctrlKey&&dI()?10:1;return-n.deltaY*(n.deltaMode===1?.05:n.deltaMode?1:.002)*e};function X2e({zoomPanValues:n,noWheelClassName:e,d3Selection:t,d3Zoom:i,panOnScrollMode:s,panOnScrollSpeed:r,zoomOnPinch:o,onPanZoomStart:a,onPanZoom:l,onPanZoomEnd:c}){return d=>{if(hy(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const u=t.property("__zoom").k||1;if(d.ctrlKey&&o){const _=bu(d),b=Zpe(d),v=u*Math.pow(2,b);i.scaleTo(t,v,_,d);return}const h=d.deltaMode===1?20:1;let f=s===N1.Vertical?0:d.deltaX*h,g=s===N1.Horizontal?0:d.deltaY*h;!dI()&&d.shiftKey&&s!==N1.Vertical&&(f=d.deltaY*h,g=0),i.translateBy(t,-(f/u)*r,-(g/u)*r,{internal:!0});const m=s8(t.property("__zoom"));clearTimeout(n.panScrollTimeout),n.isPanScrolling?(l==null||l(d,m),n.panScrollTimeout=setTimeout(()=>{c==null||c(d,m),n.isPanScrolling=!1},150)):(n.isPanScrolling=!0,a==null||a(d,m))}}function Z2e({noWheelClassName:n,preventScrolling:e,d3ZoomHandler:t}){return function(i,s){const r=i.type==="wheel",o=!e&&r&&!i.ctrlKey,a=hy(i,n);if(i.ctrlKey&&r&&a&&i.preventDefault(),o||a)return null;i.preventDefault(),t.call(this,i,s)}}function Q2e({zoomPanValues:n,onDraggingChange:e,onPanZoomStart:t}){return i=>{var r,o,a;if((r=i.sourceEvent)!=null&&r.internal)return;const s=s8(i.transform);n.mouseButton=((o=i.sourceEvent)==null?void 0:o.button)||0,n.isZoomingOrPanning=!0,n.prevViewport=s,((a=i.sourceEvent)==null?void 0:a.type)==="mousedown"&&e(!0),t&&(t==null||t(i.sourceEvent,s))}}function J2e({zoomPanValues:n,panOnDrag:e,onPaneContextMenu:t,onTransformChange:i,onPanZoom:s}){return r=>{var o,a;n.usedRightMouseButton=!!(t&&Xpe(e,n.mouseButton??0)),(o=r.sourceEvent)!=null&&o.sync||i([r.transform.x,r.transform.y,r.transform.k]),s&&!((a=r.sourceEvent)!=null&&a.internal)&&(s==null||s(r.sourceEvent,s8(r.transform)))}}function eRe({zoomPanValues:n,panOnDrag:e,panOnScroll:t,onDraggingChange:i,onPanZoomEnd:s,onPaneContextMenu:r}){return o=>{var a;if(!((a=o.sourceEvent)!=null&&a.internal)&&(n.isZoomingOrPanning=!1,r&&Xpe(e,n.mouseButton??0)&&!n.usedRightMouseButton&&o.sourceEvent&&r(o.sourceEvent),n.usedRightMouseButton=!1,i(!1),s)){const l=s8(o.transform);n.prevViewport=l,clearTimeout(n.timerId),n.timerId=setTimeout(()=>{s==null||s(o.sourceEvent,l)},t?150:0)}}}function tRe({zoomActivationKeyPressed:n,zoomOnScroll:e,zoomOnPinch:t,panOnDrag:i,panOnScroll:s,zoomOnDoubleClick:r,userSelectionActive:o,noWheelClassName:a,noPanClassName:l,lib:c,connectionInProgress:d}){return u=>{var _;const h=n||e,f=t&&u.ctrlKey,g=u.type==="wheel";if(u.button===1&&u.type==="mousedown"&&(hy(u,`${c}-flow__node`)||hy(u,`${c}-flow__edge`)))return!0;if(!i&&!h&&!s&&!r&&!t||o||d&&!g||hy(u,a)&&g||hy(u,l)&&(!g||s&&g&&!n)||!t&&u.ctrlKey&&g)return!1;if(!t&&u.type==="touchstart"&&((_=u.touches)==null?void 0:_.length)>1)return u.preventDefault(),!1;if(!h&&!s&&!f&&g||!i&&(u.type==="mousedown"||u.type==="touchstart")||Array.isArray(i)&&!i.includes(u.button)&&u.type==="mousedown")return!1;const m=Array.isArray(i)&&i.includes(u.button)||!u.button||u.button<=1;return(!u.ctrlKey||g)&&m}}function iRe({domNode:n,minZoom:e,maxZoom:t,translateExtent:i,viewport:s,onPanZoom:r,onPanZoomStart:o,onPanZoomEnd:a,onDraggingChange:l}){const c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=n.getBoundingClientRect(),u=xpe().scaleExtent([e,t]).translateExtent(i),h=Dc(n).call(u);v({x:s.x,y:s.y,zoom:uS(s.zoom,e,t)},[[0,0],[d.width,d.height]],i);const f=h.on("wheel.zoom"),g=h.on("dblclick.zoom");u.wheelDelta(Zpe);function m(M,P){return h?new Promise(V=>{u==null||u.interpolate((P==null?void 0:P.interpolate)==="linear"?wN:zM).transform(j6(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>V(!0)),M)}):Promise.resolve(!1)}function _({noWheelClassName:M,noPanClassName:P,onPaneContextMenu:V,userSelectionActive:O,panOnScroll:A,panOnDrag:z,panOnScrollMode:U,panOnScrollSpeed:W,preventScrolling:F,zoomOnPinch:q,zoomOnScroll:Q,zoomOnDoubleClick:J,zoomActivationKeyPressed:oe,lib:pe,onTransformChange:ke,connectionInProgress:$e,paneClickDistance:Xe,selectionOnDrag:Re}){O&&!c.isZoomingOrPanning&&b();const Je=A&&!oe&&!O;u.clickDistance(Re?1/0:!Mu(Xe)||Xe<0?0:Xe);const dt=Je?X2e({zoomPanValues:c,noWheelClassName:M,d3Selection:h,d3Zoom:u,panOnScrollMode:U,panOnScrollSpeed:W,zoomOnPinch:q,onPanZoomStart:o,onPanZoom:r,onPanZoomEnd:a}):Z2e({noWheelClassName:M,preventScrolling:F,d3ZoomHandler:f});if(h.on("wheel.zoom",dt,{passive:!1}),!O){const Fe=Q2e({zoomPanValues:c,onDraggingChange:l,onPanZoomStart:o});u.on("start",Fe);const Ae=J2e({zoomPanValues:c,panOnDrag:z,onPaneContextMenu:!!V,onPanZoom:r,onTransformChange:ke});u.on("zoom",Ae);const Ct=eRe({zoomPanValues:c,panOnDrag:z,panOnScroll:A,onPaneContextMenu:V,onPanZoomEnd:a,onDraggingChange:l});u.on("end",Ct)}const wt=tRe({zoomActivationKeyPressed:oe,panOnDrag:z,zoomOnScroll:Q,panOnScroll:A,zoomOnDoubleClick:J,zoomOnPinch:q,userSelectionActive:O,noPanClassName:P,noWheelClassName:M,lib:pe,connectionInProgress:$e});u.filter(wt),J?h.on("dblclick.zoom",g):h.on("dblclick.zoom",null)}function b(){u.on("zoom",null)}async function v(M,P,V){const O=V6(M),A=u==null?void 0:u.constrain()(O,P,V);return A&&await m(A),new Promise(z=>z(A))}async function C(M,P){const V=V6(M);return await m(V,P),new Promise(O=>O(V))}function y(M){if(h){const P=V6(M),V=h.property("__zoom");(V.k!==M.zoom||V.x!==M.x||V.y!==M.y)&&(u==null||u.transform(h,P,null,{sync:!0}))}}function x(){const M=h?ype(h.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}function S(M,P){return h?new Promise(V=>{u==null||u.interpolate((P==null?void 0:P.interpolate)==="linear"?wN:zM).scaleTo(j6(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>V(!0)),M)}):Promise.resolve(!1)}function L(M,P){return h?new Promise(V=>{u==null||u.interpolate((P==null?void 0:P.interpolate)==="linear"?wN:zM).scaleBy(j6(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>V(!0)),M)}):Promise.resolve(!1)}function k(M){u==null||u.scaleExtent(M)}function N(M){u==null||u.translateExtent(M)}function D(M){const P=!Mu(M)||M<0?0:M;u==null||u.clickDistance(P)}return{update:_,destroy:b,setViewport:C,setViewportConstrained:v,getViewport:x,scaleTo:S,scaleBy:L,setScaleExtent:k,setTranslateExtent:N,syncViewport:y,setClickDistance:D}}var gS;(function(n){n.Line="line",n.Handle="handle"})(gS||(gS={}));function nRe({width:n,prevWidth:e,height:t,prevHeight:i,affectsX:s,affectsY:r}){const o=n-e,a=t-i,l=[o>0?1:o<0?-1:0,a>0?1:a<0?-1:0];return o&&s&&(l[0]=l[0]*-1),a&&r&&(l[1]=l[1]*-1),l}function ene(n){const e=n.includes("right")||n.includes("left"),t=n.includes("bottom")||n.includes("top"),i=n.includes("left"),s=n.includes("top");return{isHorizontal:e,isVertical:t,affectsX:i,affectsY:s}}function gm(n,e){return Math.max(0,e-n)}function pm(n,e){return Math.max(0,n-e)}function V2(n,e,t){return Math.max(0,e-n,n-t)}function tne(n,e){return n?!e:e}function sRe(n,e,t,i,s,r,o,a){let{affectsX:l,affectsY:c}=e;const{isHorizontal:d,isVertical:u}=e,h=d&&u,{xSnapped:f,ySnapped:g}=t,{minWidth:m,maxWidth:_,minHeight:b,maxHeight:v}=i,{x:C,y,width:x,height:S,aspectRatio:L}=n;let k=Math.floor(d?f-n.pointerX:0),N=Math.floor(u?g-n.pointerY:0);const D=x+(l?-k:k),M=S+(c?-N:N),P=-r[0]*x,V=-r[1]*S;let O=V2(D,m,_),A=V2(M,b,v);if(o){let W=0,F=0;l&&k<0?W=gm(C+k+P,o[0][0]):!l&&k>0&&(W=pm(C+D+P,o[1][0])),c&&N<0?F=gm(y+N+V,o[0][1]):!c&&N>0&&(F=pm(y+M+V,o[1][1])),O=Math.max(O,W),A=Math.max(A,F)}if(a){let W=0,F=0;l&&k>0?W=pm(C+k,a[0][0]):!l&&k<0&&(W=gm(C+D,a[1][0])),c&&N>0?F=pm(y+N,a[0][1]):!c&&N<0&&(F=gm(y+M,a[1][1])),O=Math.max(O,W),A=Math.max(A,F)}if(s){if(d){const W=V2(D/L,b,v)*L;if(O=Math.max(O,W),o){let F=0;!l&&!c||l&&!c&&h?F=pm(y+V+D/L,o[1][1])*L:F=gm(y+V+(l?k:-k)/L,o[0][1])*L,O=Math.max(O,F)}if(a){let F=0;!l&&!c||l&&!c&&h?F=gm(y+D/L,a[1][1])*L:F=pm(y+(l?k:-k)/L,a[0][1])*L,O=Math.max(O,F)}}if(u){const W=V2(M*L,m,_)/L;if(A=Math.max(A,W),o){let F=0;!l&&!c||c&&!l&&h?F=pm(C+M*L+P,o[1][0])/L:F=gm(C+(c?N:-N)*L+P,o[0][0])/L,A=Math.max(A,F)}if(a){let F=0;!l&&!c||c&&!l&&h?F=gm(C+M*L,a[1][0])/L:F=pm(C+(c?N:-N)*L,a[0][0])/L,A=Math.max(A,F)}}}N=N+(N<0?A:-A),k=k+(k<0?O:-O),s&&(h?D>M*L?N=(tne(l,c)?-k:k)/L:k=(tne(l,c)?-N:N)*L:d?(N=k/L,c=l):(k=N*L,l=c));const z=l?C+k:C,U=c?y+N:y;return{width:x+(l?-k:k),height:S+(c?-N:N),x:r[0]*k*(l?-1:1)+z,y:r[1]*N*(c?-1:1)+U}}const Qpe={width:0,height:0,x:0,y:0},rRe={...Qpe,pointerX:0,pointerY:0,aspectRatio:1};function oRe(n){return[[0,0],[n.measured.width,n.measured.height]]}function aRe(n,e,t){const i=e.position.x+n.position.x,s=e.position.y+n.position.y,r=n.measured.width??0,o=n.measured.height??0,a=t[0]*r,l=t[1]*o;return[[i-a,s-l],[i+r-a,s+o-l]]}function lRe({domNode:n,nodeId:e,getStoreItems:t,onChange:i,onEnd:s}){const r=Dc(n);let o={controlDirection:ene("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:c,boundaries:d,keepAspectRatio:u,resizeDirection:h,onResizeStart:f,onResize:g,onResizeEnd:m,shouldResize:_}){let b={...Qpe},v={...rRe};o={boundaries:d,resizeDirection:h,keepAspectRatio:u,controlDirection:ene(c)};let C,y=null,x=[],S,L,k,N=!1;const D=lpe().on("start",M=>{const{nodeLookup:P,transform:V,snapGrid:O,snapToGrid:A,nodeOrigin:z,paneDomNode:U}=t();if(C=P.get(e),!C)return;y=(U==null?void 0:U.getBoundingClientRect())??null;const{xSnapped:W,ySnapped:F}=CN(M.sourceEvent,{transform:V,snapGrid:O,snapToGrid:A,containerBounds:y});b={width:C.measured.width??0,height:C.measured.height??0,x:C.position.x??0,y:C.position.y??0},v={...b,pointerX:W,pointerY:F,aspectRatio:b.width/b.height},S=void 0,C.parentId&&(C.extent==="parent"||C.expandParent)&&(S=P.get(C.parentId),L=S&&C.extent==="parent"?oRe(S):void 0),x=[],k=void 0;for(const[q,Q]of P)if(Q.parentId===e&&(x.push({id:q,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const J=aRe(Q,C,Q.origin??z);k?k=[[Math.min(J[0][0],k[0][0]),Math.min(J[0][1],k[0][1])],[Math.max(J[1][0],k[1][0]),Math.max(J[1][1],k[1][1])]]:k=J}f==null||f(M,{...b})}).on("drag",M=>{const{transform:P,snapGrid:V,snapToGrid:O,nodeOrigin:A}=t(),z=CN(M.sourceEvent,{transform:P,snapGrid:V,snapToGrid:O,containerBounds:y}),U=[];if(!C)return;const{x:W,y:F,width:q,height:Q}=b,J={},oe=C.origin??A,{width:pe,height:ke,x:$e,y:Xe}=sRe(v,o.controlDirection,z,o.boundaries,o.keepAspectRatio,oe,L,k),Re=pe!==q,Je=ke!==Q,dt=$e!==W&&Re,wt=Xe!==F&&Je;if(!dt&&!wt&&!Re&&!Je)return;if((dt||wt||oe[0]===1||oe[1]===1)&&(J.x=dt?$e:b.x,J.y=wt?Xe:b.y,b.x=J.x,b.y=J.y,x.length>0)){const Ut=$e-W,Be=Xe-F;for(const di of x)di.position={x:di.position.x-Ut+oe[0]*(pe-q),y:di.position.y-Be+oe[1]*(ke-Q)},U.push(di)}if((Re||Je)&&(J.width=Re&&(!o.resizeDirection||o.resizeDirection==="horizontal")?pe:b.width,J.height=Je&&(!o.resizeDirection||o.resizeDirection==="vertical")?ke:b.height,b.width=J.width,b.height=J.height),S&&C.expandParent){const Ut=oe[0]*(J.width??0);J.x&&J.x{N&&(m==null||m(M,{...b}),s==null||s({...b}),N=!1)});r.call(D)}function l(){r.on(".drag",null)}return{update:a,destroy:l}}var Jpe={exports:{}},eme={},tme={exports:{}},ime={};/** * @license React * use-sync-external-store-shim.production.js * @@ -45,7 +45,7 @@ Error generating stack: `+o.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ZS=R;function F2e(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var B2e=typeof Object.is=="function"?Object.is:F2e,W2e=ZS.useState,H2e=ZS.useEffect,V2e=ZS.useLayoutEffect,j2e=ZS.useDebugValue;function z2e(n,e){var t=e(),i=W2e({inst:{value:t,getSnapshot:e}}),s=i[0].inst,o=i[1];return V2e(function(){s.value=t,s.getSnapshot=e,_6(s)&&o({inst:s})},[n,t,e]),H2e(function(){return _6(s)&&o({inst:s}),n(function(){_6(s)&&o({inst:s})})},[n]),j2e(t),t}function _6(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!B2e(n,t)}catch{return!0}}function $2e(n,e){return e()}var U2e=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?$2e:z2e;wpe.useSyncExternalStore=ZS.useSyncExternalStore!==void 0?ZS.useSyncExternalStore:U2e;vpe.exports=wpe;var q2e=vpe.exports;/** + */var pS=R;function cRe(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var dRe=typeof Object.is=="function"?Object.is:cRe,uRe=pS.useState,hRe=pS.useEffect,fRe=pS.useLayoutEffect,gRe=pS.useDebugValue;function pRe(n,e){var t=e(),i=uRe({inst:{value:t,getSnapshot:e}}),s=i[0].inst,r=i[1];return fRe(function(){s.value=t,s.getSnapshot=e,z6(s)&&r({inst:s})},[n,t,e]),hRe(function(){return z6(s)&&r({inst:s}),n(function(){z6(s)&&r({inst:s})})},[n]),gRe(t),t}function z6(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!dRe(n,t)}catch{return!0}}function mRe(n,e){return e()}var _Re=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?mRe:pRe;ime.useSyncExternalStore=pS.useSyncExternalStore!==void 0?pS.useSyncExternalStore:_Re;tme.exports=ime;var bRe=tme.exports;/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -53,295 +53,300 @@ Error generating stack: `+o.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var P3=R,K2e=q2e;function G2e(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var Y2e=typeof Object.is=="function"?Object.is:G2e,Z2e=K2e.useSyncExternalStore,X2e=P3.useRef,Q2e=P3.useEffect,J2e=P3.useMemo,eRe=P3.useDebugValue;bpe.useSyncExternalStoreWithSelector=function(n,e,t,i,s){var o=X2e(null);if(o.current===null){var r={hasValue:!1,value:null};o.current=r}else r=o.current;o=J2e(function(){function l(f){if(!c){if(c=!0,d=f,f=i(f),s!==void 0&&r.hasValue){var g=r.value;if(s(g,f))return u=g}return u=f}if(g=u,Y2e(d,f))return g;var p=i(f);return s!==void 0&&s(g,p)?(d=f,g):(d=f,u=p)}var c=!1,d,u,h=t===void 0?null:t;return[function(){return l(e())},h===null?void 0:function(){return l(h())}]},[e,t,i,s]);var a=Z2e(n,o[0],o[1]);return Q2e(function(){r.hasValue=!0,r.value=a},[a]),eRe(a),a};_pe.exports=bpe;var tRe=_pe.exports;const iRe=Que(tRe),nRe={},Eie=n=>{let e;const t=new Set,i=(d,u)=>{const h=typeof d=="function"?d(e):d;if(!Object.is(h,e)){const f=e;e=u??(typeof h!="object"||h===null)?h:Object.assign({},e,h),t.forEach(g=>g(e,f))}},s=()=>e,l={setState:i,getState:s,getInitialState:()=>c,subscribe:d=>(t.add(d),()=>t.delete(d)),destroy:()=>{(nRe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},c=e=n(i,s,l);return l},sRe=n=>n?Eie(n):Eie,{useDebugValue:oRe}=a_,{useSyncExternalStoreWithSelector:rRe}=iRe,aRe=n=>n;function Cpe(n,e=aRe,t){const i=rRe(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return oRe(i),i}const Iie=(n,e)=>{const t=sRe(n),i=(s,o=e)=>Cpe(t,s,o);return Object.assign(i,t),i},lRe=(n,e)=>n?Iie(n,e):Iie;function Bs(n,e){if(Object.is(n,e))return!0;if(typeof n!="object"||n===null||typeof e!="object"||e===null)return!1;if(n instanceof Map&&e instanceof Map){if(n.size!==e.size)return!1;for(const[i,s]of n)if(!Object.is(s,e.get(i)))return!1;return!0}if(n instanceof Set&&e instanceof Set){if(n.size!==e.size)return!1;for(const i of n)if(!e.has(i))return!1;return!0}const t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(const i of t)if(!Object.prototype.hasOwnProperty.call(e,i)||!Object.is(n[i],e[i]))return!1;return!0}const O3=R.createContext(null),cRe=O3.Provider,ype=df.error001();function rn(n,e){const t=R.useContext(O3);if(t===null)throw new Error(ype);return Cpe(t,n,e)}function Vs(){const n=R.useContext(O3);if(n===null)throw new Error(ype);return R.useMemo(()=>({getState:n.getState,setState:n.setState,subscribe:n.subscribe}),[n])}const Die={display:"none"},dRe={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Spe="react-flow__node-desc",xpe="react-flow__edge-desc",uRe="react-flow__aria-live",hRe=n=>n.ariaLiveMessage,fRe=n=>n.ariaLabelConfig;function gRe({rfId:n}){const e=rn(hRe);return m.jsx("div",{id:`${uRe}-${n}`,"aria-live":"assertive","aria-atomic":"true",style:dRe,children:e})}function pRe({rfId:n,disableKeyboardA11y:e}){const t=rn(fRe);return m.jsxs(m.Fragment,{children:[m.jsx("div",{id:`${Spe}-${n}`,style:Die,children:e?t["node.a11yDescription.default"]:t["node.a11yDescription.keyboardDisabled"]}),m.jsx("div",{id:`${xpe}-${n}`,style:Die,children:t["edge.a11yDescription.default"]}),!e&&m.jsx(gRe,{rfId:n})]})}const F3=R.forwardRef(({position:n="top-left",children:e,className:t,style:i,...s},o)=>{const r=`${n}`.split("-");return m.jsx("div",{className:Zo(["react-flow__panel",t,...r]),style:i,ref:o,...s,children:e})});F3.displayName="Panel";function mRe({proOptions:n,position:e="bottom-right"}){return n!=null&&n.hideAttribution?null:m.jsx(F3,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:m.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const _Re=n=>{const e=[],t=[];for(const[,i]of n.nodeLookup)i.selected&&e.push(i.internals.userNode);for(const[,i]of n.edgeLookup)i.selected&&t.push(i);return{selectedNodes:e,selectedEdges:t}},C2=n=>n.id;function bRe(n,e){return Bs(n.selectedNodes.map(C2),e.selectedNodes.map(C2))&&Bs(n.selectedEdges.map(C2),e.selectedEdges.map(C2))}function vRe({onSelectionChange:n}){const e=Vs(),{selectedNodes:t,selectedEdges:i}=rn(_Re,bRe);return R.useEffect(()=>{const s={nodes:t,edges:i};n==null||n(s),e.getState().onSelectionChangeHandlers.forEach(o=>o(s))},[t,i,n]),null}const wRe=n=>!!n.onSelectionChangeHandlers;function CRe({onSelectionChange:n}){const e=rn(wRe);return n||e?m.jsx(vRe,{onSelectionChange:n}):null}const hH=typeof window<"u"?R.useLayoutEffect:R.useEffect,Lpe=[0,0],yRe={x:0,y:0,zoom:1},SRe=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Tie=[...SRe,"rfId"],xRe=n=>({setNodes:n.setNodes,setEdges:n.setEdges,setMinZoom:n.setMinZoom,setMaxZoom:n.setMaxZoom,setTranslateExtent:n.setTranslateExtent,setNodeExtent:n.setNodeExtent,reset:n.reset,setDefaultNodesAndEdges:n.setDefaultNodesAndEdges}),Rie={translateExtent:WE,nodeOrigin:Lpe,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function LRe(n){const{setNodes:e,setEdges:t,setMinZoom:i,setMaxZoom:s,setTranslateExtent:o,setNodeExtent:r,reset:a,setDefaultNodesAndEdges:l}=rn(xRe,Bs),c=Vs();hH(()=>(l(n.defaultNodes,n.defaultEdges),()=>{d.current=Rie,a()}),[]);const d=R.useRef(Rie);return hH(()=>{for(const u of Tie){const h=n[u],f=d.current[u];h!==f&&(typeof n[u]>"u"||(u==="nodes"?e(h):u==="edges"?t(h):u==="minZoom"?i(h):u==="maxZoom"?s(h):u==="translateExtent"?o(h):u==="nodeExtent"?r(h):u==="ariaLabelConfig"?c.setState({ariaLabelConfig:GTe(h)}):u==="fitView"?c.setState({fitViewQueued:h}):u==="fitViewOptions"?c.setState({fitViewOptions:h}):c.setState({[u]:h})))}d.current=n},Tie.map(u=>n[u])),null}function Mie(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function kRe(n){var i;const[e,t]=R.useState(n==="system"?null:n);return R.useEffect(()=>{if(n!=="system"){t(n);return}const s=Mie(),o=()=>t(s!=null&&s.matches?"dark":"light");return o(),s==null||s.addEventListener("change",o),()=>{s==null||s.removeEventListener("change",o)}},[n]),e!==null?e:(i=Mie())!=null&&i.matches?"dark":"light"}const Aie=typeof document<"u"?document:null;function zE(n=null,e={target:Aie,actInsideInputWithModifier:!0}){const[t,i]=R.useState(!1),s=R.useRef(!1),o=R.useRef(new Set([])),[r,a]=R.useMemo(()=>{if(n!==null){const c=(Array.isArray(n)?n:[n]).filter(u=>typeof u=="string").map(u=>u.replace("+",` + */var r8=R,vRe=bRe;function wRe(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var CRe=typeof Object.is=="function"?Object.is:wRe,yRe=vRe.useSyncExternalStore,xRe=r8.useRef,SRe=r8.useEffect,LRe=r8.useMemo,kRe=r8.useDebugValue;eme.useSyncExternalStoreWithSelector=function(n,e,t,i,s){var r=xRe(null);if(r.current===null){var o={hasValue:!1,value:null};r.current=o}else o=r.current;r=LRe(function(){function l(f){if(!c){if(c=!0,d=f,f=i(f),s!==void 0&&o.hasValue){var g=o.value;if(s(g,f))return u=g}return u=f}if(g=u,CRe(d,f))return g;var m=i(f);return s!==void 0&&s(g,m)?(d=f,g):(d=f,u=m)}var c=!1,d,u,h=t===void 0?null:t;return[function(){return l(e())},h===null?void 0:function(){return l(h())}]},[e,t,i,s]);var a=yRe(n,r[0],r[1]);return SRe(function(){o.hasValue=!0,o.value=a},[a]),kRe(a),a};Jpe.exports=eme;var NRe=Jpe.exports;const ERe=Ahe(NRe),IRe={},ine=n=>{let e;const t=new Set,i=(d,u)=>{const h=typeof d=="function"?d(e):d;if(!Object.is(h,e)){const f=e;e=u??(typeof h!="object"||h===null)?h:Object.assign({},e,h),t.forEach(g=>g(e,f))}},s=()=>e,l={setState:i,getState:s,getInitialState:()=>c,subscribe:d=>(t.add(d),()=>t.delete(d)),destroy:()=>{(IRe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),t.clear()}},c=e=n(i,s,l);return l},DRe=n=>n?ine(n):ine,{useDebugValue:TRe}=y_,{useSyncExternalStoreWithSelector:RRe}=ERe,MRe=n=>n;function nme(n,e=MRe,t){const i=RRe(n.subscribe,n.getState,n.getServerState||n.getInitialState,e,t);return TRe(i),i}const nne=(n,e)=>{const t=DRe(n),i=(s,r=e)=>nme(t,s,r);return Object.assign(i,t),i},ARe=(n,e)=>n?nne(n,e):nne;function As(n,e){if(Object.is(n,e))return!0;if(typeof n!="object"||n===null||typeof e!="object"||e===null)return!1;if(n instanceof Map&&e instanceof Map){if(n.size!==e.size)return!1;for(const[i,s]of n)if(!Object.is(s,e.get(i)))return!1;return!0}if(n instanceof Set&&e instanceof Set){if(n.size!==e.size)return!1;for(const i of n)if(!e.has(i))return!1;return!0}const t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(const i of t)if(!Object.prototype.hasOwnProperty.call(e,i)||!Object.is(n[i],e[i]))return!1;return!0}const o8=R.createContext(null),PRe=o8.Provider,sme=Cf.error001();function Qi(n,e){const t=R.useContext(o8);if(t===null)throw new Error(sme);return nme(t,n,e)}function Fs(){const n=R.useContext(o8);if(n===null)throw new Error(sme);return R.useMemo(()=>({getState:n.getState,setState:n.setState,subscribe:n.subscribe}),[n])}const sne={display:"none"},ORe={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},rme="react-flow__node-desc",ome="react-flow__edge-desc",FRe="react-flow__aria-live",BRe=n=>n.ariaLiveMessage,WRe=n=>n.ariaLabelConfig;function HRe({rfId:n}){const e=Qi(BRe);return p.jsx("div",{id:`${FRe}-${n}`,"aria-live":"assertive","aria-atomic":"true",style:ORe,children:e})}function VRe({rfId:n,disableKeyboardA11y:e}){const t=Qi(WRe);return p.jsxs(p.Fragment,{children:[p.jsx("div",{id:`${rme}-${n}`,style:sne,children:e?t["node.a11yDescription.default"]:t["node.a11yDescription.keyboardDisabled"]}),p.jsx("div",{id:`${ome}-${n}`,style:sne,children:t["edge.a11yDescription.default"]}),!e&&p.jsx(HRe,{rfId:n})]})}const a8=R.forwardRef(({position:n="top-left",children:e,className:t,style:i,...s},r)=>{const o=`${n}`.split("-");return p.jsx("div",{className:Gr(["react-flow__panel",t,...o]),style:i,ref:r,...s,children:e})});a8.displayName="Panel";function jRe({proOptions:n,position:e="bottom-right"}){return n!=null&&n.hideAttribution?null:p.jsx(a8,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:p.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const zRe=n=>{const e=[],t=[];for(const[,i]of n.nodeLookup)i.selected&&e.push(i.internals.userNode);for(const[,i]of n.edgeLookup)i.selected&&t.push(i);return{selectedNodes:e,selectedEdges:t}},j2=n=>n.id;function $Re(n,e){return As(n.selectedNodes.map(j2),e.selectedNodes.map(j2))&&As(n.selectedEdges.map(j2),e.selectedEdges.map(j2))}function URe({onSelectionChange:n}){const e=Fs(),{selectedNodes:t,selectedEdges:i}=Qi(zRe,$Re);return R.useEffect(()=>{const s={nodes:t,edges:i};n==null||n(s),e.getState().onSelectionChangeHandlers.forEach(r=>r(s))},[t,i,n]),null}const qRe=n=>!!n.onSelectionChangeHandlers;function KRe({onSelectionChange:n}){const e=Qi(qRe);return n||e?p.jsx(URe,{onSelectionChange:n}):null}const WH=typeof window<"u"?R.useLayoutEffect:R.useEffect,ame=[0,0],GRe={x:0,y:0,zoom:1},YRe=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],rne=[...YRe,"rfId"],XRe=n=>({setNodes:n.setNodes,setEdges:n.setEdges,setMinZoom:n.setMinZoom,setMaxZoom:n.setMaxZoom,setTranslateExtent:n.setTranslateExtent,setNodeExtent:n.setNodeExtent,reset:n.reset,setDefaultNodesAndEdges:n.setDefaultNodesAndEdges}),one={translateExtent:aI,nodeOrigin:ame,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function ZRe(n){const{setNodes:e,setEdges:t,setMinZoom:i,setMaxZoom:s,setTranslateExtent:r,setNodeExtent:o,reset:a,setDefaultNodesAndEdges:l}=Qi(XRe,As),c=Fs();WH(()=>(l(n.defaultNodes,n.defaultEdges),()=>{d.current=one,a()}),[]);const d=R.useRef(one);return WH(()=>{for(const u of rne){const h=n[u],f=d.current[u];h!==f&&(typeof n[u]>"u"||(u==="nodes"?e(h):u==="edges"?t(h):u==="minZoom"?i(h):u==="maxZoom"?s(h):u==="translateExtent"?r(h):u==="nodeExtent"?o(h):u==="ariaLabelConfig"?c.setState({ariaLabelConfig:w2e(h)}):u==="fitView"?c.setState({fitViewQueued:h}):u==="fitViewOptions"?c.setState({fitViewOptions:h}):c.setState({[u]:h})))}d.current=n},rne.map(u=>n[u])),null}function ane(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function QRe(n){var i;const[e,t]=R.useState(n==="system"?null:n);return R.useEffect(()=>{if(n!=="system"){t(n);return}const s=ane(),r=()=>t(s!=null&&s.matches?"dark":"light");return r(),s==null||s.addEventListener("change",r),()=>{s==null||s.removeEventListener("change",r)}},[n]),e!==null?e:(i=ane())!=null&&i.matches?"dark":"light"}const lne=typeof document<"u"?document:null;function uI(n=null,e={target:lne,actInsideInputWithModifier:!0}){const[t,i]=R.useState(!1),s=R.useRef(!1),r=R.useRef(new Set([])),[o,a]=R.useMemo(()=>{if(n!==null){const c=(Array.isArray(n)?n:[n]).filter(u=>typeof u=="string").map(u=>u.replace("+",` `).replace(` `,` +`).split(` -`)),d=c.reduce((u,h)=>u.concat(...h),[]);return[c,d]}return[[],[]]},[n]);return R.useEffect(()=>{const l=(e==null?void 0:e.target)??Aie,c=(e==null?void 0:e.actInsideInputWithModifier)??!0;if(n!==null){const d=f=>{var _,b;if(s.current=f.ctrlKey||f.metaKey||f.shiftKey||f.altKey,(!s.current||s.current&&!c)&&epe(f))return!1;const p=Oie(f.code,a);if(o.current.add(f[p]),Pie(r,o.current,!1)){const v=((b=(_=f.composedPath)==null?void 0:_.call(f))==null?void 0:b[0])||f.target,C=(v==null?void 0:v.nodeName)==="BUTTON"||(v==null?void 0:v.nodeName)==="A";e.preventDefault!==!1&&(s.current||!C)&&f.preventDefault(),i(!0)}},u=f=>{const g=Oie(f.code,a);Pie(r,o.current,!0)?(i(!1),o.current.clear()):o.current.delete(f[g]),f.key==="Meta"&&o.current.clear(),s.current=!1},h=()=>{o.current.clear(),i(!1)};return l==null||l.addEventListener("keydown",d),l==null||l.addEventListener("keyup",u),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{l==null||l.removeEventListener("keydown",d),l==null||l.removeEventListener("keyup",u),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[n,i]),t}function Pie(n,e,t){return n.filter(i=>t||i.length===e.size).some(i=>i.every(s=>e.has(s)))}function Oie(n,e){return e.includes(n)?"code":"key"}const NRe=()=>{const n=Vs();return R.useMemo(()=>({zoomIn:e=>{const{panZoom:t}=n.getState();return t?t.scaleBy(1.2,e):Promise.resolve(!1)},zoomOut:e=>{const{panZoom:t}=n.getState();return t?t.scaleBy(1/1.2,e):Promise.resolve(!1)},zoomTo:(e,t)=>{const{panZoom:i}=n.getState();return i?i.scaleTo(e,t):Promise.resolve(!1)},getZoom:()=>n.getState().transform[2],setViewport:async(e,t)=>{const{transform:[i,s,o],panZoom:r}=n.getState();return r?(await r.setViewport({x:e.x??i,y:e.y??s,zoom:e.zoom??o},t),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[e,t,i]=n.getState().transform;return{x:e,y:t,zoom:i}},setCenter:async(e,t,i)=>n.getState().setCenter(e,t,i),fitBounds:async(e,t)=>{const{width:i,height:s,minZoom:o,maxZoom:r,panZoom:a}=n.getState(),l=VY(e,i,s,o,r,(t==null?void 0:t.padding)??.1);return a?(await a.setViewport(l,{duration:t==null?void 0:t.duration,ease:t==null?void 0:t.ease,interpolate:t==null?void 0:t.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(e,t={})=>{const{transform:i,snapGrid:s,snapToGrid:o,domNode:r}=n.getState();if(!r)return e;const{x:a,y:l}=r.getBoundingClientRect(),c={x:e.x-a,y:e.y-l},d=t.snapGrid??s,u=t.snapToGrid??o;return YD(c,i,u,d)},flowToScreenPosition:e=>{const{transform:t,domNode:i}=n.getState();if(!i)return e;const{x:s,y:o}=i.getBoundingClientRect(),r=YA(e,t);return{x:r.x+s,y:r.y+o}}}),[])};function kpe(n,e){const t=[],i=new Map,s=[];for(const o of n)if(o.type==="add"){s.push(o);continue}else if(o.type==="remove"||o.type==="replace")i.set(o.id,[o]);else{const r=i.get(o.id);r?r.push(o):i.set(o.id,[o])}for(const o of e){const r=i.get(o.id);if(!r){t.push(o);continue}if(r[0].type==="remove")continue;if(r[0].type==="replace"){t.push({...r[0].item});continue}const a={...o};for(const l of r)ERe(l,a);t.push(a)}return s.length&&s.forEach(o=>{o.index!==void 0?t.splice(o.index,0,{...o.item}):t.push({...o.item})}),t}function ERe(n,e){switch(n.type){case"select":{e.selected=n.selected;break}case"position":{typeof n.position<"u"&&(e.position=n.position),typeof n.dragging<"u"&&(e.dragging=n.dragging);break}case"dimensions":{typeof n.dimensions<"u"&&(e.measured={...n.dimensions},n.setAttributes&&((n.setAttributes===!0||n.setAttributes==="width")&&(e.width=n.dimensions.width),(n.setAttributes===!0||n.setAttributes==="height")&&(e.height=n.dimensions.height))),typeof n.resizing=="boolean"&&(e.resizing=n.resizing);break}}}function Npe(n,e){return kpe(n,e)}function Epe(n,e){return kpe(n,e)}function Gb(n,e){return{id:n,type:"select",selected:e}}function UC(n,e=new Set,t=!1){const i=[];for(const[s,o]of n){const r=e.has(s);!(o.selected===void 0&&!r)&&o.selected!==r&&(t&&(o.selected=r),i.push(Gb(o.id,r)))}return i}function Fie({items:n=[],lookup:e}){var s;const t=[],i=new Map(n.map(o=>[o.id,o]));for(const[o,r]of n.entries()){const a=e.get(r.id),l=((s=a==null?void 0:a.internals)==null?void 0:s.userNode)??a;l!==void 0&&l!==r&&t.push({id:r.id,item:r,type:"replace"}),l===void 0&&t.push({item:r,type:"add",index:o})}for(const[o]of e)i.get(o)===void 0&&t.push({id:o,type:"remove"});return t}function Bie(n){return{id:n.id,type:"remove"}}const Wie=n=>BTe(n),IRe=n=>qge(n);function Ipe(n){return R.forwardRef(n)}function Hie(n){const[e,t]=R.useState(BigInt(0)),[i]=R.useState(()=>DRe(()=>t(s=>s+BigInt(1))));return hH(()=>{const s=i.get();s.length&&(n(s),i.reset())},[e]),i}function DRe(n){let e=[];return{get:()=>e,reset:()=>{e=[]},push:t=>{e.push(t),n()}}}const Dpe=R.createContext(null);function TRe({children:n}){const e=Vs(),t=R.useCallback(a=>{const{nodes:l=[],setNodes:c,hasDefaultNodes:d,onNodesChange:u,nodeLookup:h,fitViewQueued:f,onNodesChangeMiddlewareMap:g}=e.getState();let p=l;for(const b of a)p=typeof b=="function"?b(p):b;let _=Fie({items:p,lookup:h});for(const b of g.values())_=b(_);d&&c(p),_.length>0?u==null||u(_):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:b,nodes:v,setNodes:C}=e.getState();b&&C(v)})},[]),i=Hie(t),s=R.useCallback(a=>{const{edges:l=[],setEdges:c,hasDefaultEdges:d,onEdgesChange:u,edgeLookup:h}=e.getState();let f=l;for(const g of a)f=typeof g=="function"?g(f):g;d?c(f):u&&u(Fie({items:f,lookup:h}))},[]),o=Hie(s),r=R.useMemo(()=>({nodeQueue:i,edgeQueue:o}),[]);return m.jsx(Dpe.Provider,{value:r,children:n})}function RRe(){const n=R.useContext(Dpe);if(!n)throw new Error("useBatchContext must be used within a BatchProvider");return n}const MRe=n=>!!n.panZoom;function GY(){const n=NRe(),e=Vs(),t=RRe(),i=rn(MRe),s=R.useMemo(()=>{const o=u=>e.getState().nodeLookup.get(u),r=u=>{t.nodeQueue.push(u)},a=u=>{t.edgeQueue.push(u)},l=u=>{var b,v;const{nodeLookup:h,nodeOrigin:f}=e.getState(),g=Wie(u)?u:h.get(u.id),p=g.parentId?Qge(g.position,g.measured,g.parentId,h,f):g.position,_={...g,position:p,width:((b=g.measured)==null?void 0:b.width)??g.width,height:((v=g.measured)==null?void 0:v.height)??g.height};return KS(_)},c=(u,h,f={replace:!1})=>{r(g=>g.map(p=>{if(p.id===u){const _=typeof h=="function"?h(p):h;return f.replace&&Wie(_)?_:{...p,..._}}return p}))},d=(u,h,f={replace:!1})=>{a(g=>g.map(p=>{if(p.id===u){const _=typeof h=="function"?h(p):h;return f.replace&&IRe(_)?_:{...p,..._}}return p}))};return{getNodes:()=>e.getState().nodes.map(u=>({...u})),getNode:u=>{var h;return(h=o(u))==null?void 0:h.internals.userNode},getInternalNode:o,getEdges:()=>{const{edges:u=[]}=e.getState();return u.map(h=>({...h}))},getEdge:u=>e.getState().edgeLookup.get(u),setNodes:r,setEdges:a,addNodes:u=>{const h=Array.isArray(u)?u:[u];t.nodeQueue.push(f=>[...f,...h])},addEdges:u=>{const h=Array.isArray(u)?u:[u];t.edgeQueue.push(f=>[...f,...h])},toObject:()=>{const{nodes:u=[],edges:h=[],transform:f}=e.getState(),[g,p,_]=f;return{nodes:u.map(b=>({...b})),edges:h.map(b=>({...b})),viewport:{x:g,y:p,zoom:_}}},deleteElements:async({nodes:u=[],edges:h=[]})=>{const{nodes:f,edges:g,onNodesDelete:p,onEdgesDelete:_,triggerNodeChanges:b,triggerEdgeChanges:v,onDelete:C,onBeforeDelete:y}=e.getState(),{nodes:S,edges:x}=await zTe({nodesToRemove:u,edgesToRemove:h,nodes:f,edges:g,onBeforeDelete:y}),L=x.length>0,k=S.length>0;if(L){const N=x.map(Bie);_==null||_(x),v(N)}if(k){const N=S.map(Bie);p==null||p(S),b(N)}return(k||L)&&(C==null||C({nodes:S,edges:x})),{deletedNodes:S,deletedEdges:x}},getIntersectingNodes:(u,h=!0,f)=>{const g=pie(u),p=g?u:l(u),_=f!==void 0;return p?(f||e.getState().nodes).filter(b=>{const v=e.getState().nodeLookup.get(b.id);if(v&&!g&&(b.id===u.id||!v.internals.positionAbsolute))return!1;const C=KS(_?b:v),y=VE(C,p);return h&&y>0||y>=C.width*C.height||y>=p.width*p.height}):[]},isNodeIntersecting:(u,h,f=!0)=>{const p=pie(u)?u:l(u);if(!p)return!1;const _=VE(p,h);return f&&_>0||_>=h.width*h.height||_>=p.width*p.height},updateNode:c,updateNodeData:(u,h,f={replace:!1})=>{c(u,g=>{const p=typeof h=="function"?h(g):h;return f.replace?{...g,data:p}:{...g,data:{...g.data,...p}}},f)},updateEdge:d,updateEdgeData:(u,h,f={replace:!1})=>{d(u,g=>{const p=typeof h=="function"?h(g):h;return f.replace?{...g,data:p}:{...g,data:{...g.data,...p}}},f)},getNodesBounds:u=>{const{nodeLookup:h,nodeOrigin:f}=e.getState();return WTe(u,{nodeLookup:h,nodeOrigin:f})},getHandleConnections:({type:u,id:h,nodeId:f})=>{var g;return Array.from(((g=e.getState().connectionLookup.get(`${f}-${u}${h?`-${h}`:""}`))==null?void 0:g.values())??[])},getNodeConnections:({type:u,handleId:h,nodeId:f})=>{var g;return Array.from(((g=e.getState().connectionLookup.get(`${f}${u?h?`-${u}-${h}`:`-${u}`:""}`))==null?void 0:g.values())??[])},fitView:async u=>{const h=e.getState().fitViewResolver??KTe();return e.setState({fitViewQueued:!0,fitViewOptions:u,fitViewResolver:h}),t.nodeQueue.push(f=>[...f]),h.promise}}},[]);return R.useMemo(()=>({...s,...n,viewportInitialized:i}),[i])}const Vie=n=>n.selected,ARe=typeof window<"u"?window:void 0;function PRe({deleteKeyCode:n,multiSelectionKeyCode:e}){const t=Vs(),{deleteElements:i}=GY(),s=zE(n,{actInsideInputWithModifier:!1}),o=zE(e,{target:ARe});R.useEffect(()=>{if(s){const{edges:r,nodes:a}=t.getState();i({nodes:a.filter(Vie),edges:r.filter(Vie)}),t.setState({nodesSelectionActive:!1})}},[s]),R.useEffect(()=>{t.setState({multiSelectionActive:o})},[o])}function ORe(n){const e=Vs();R.useEffect(()=>{const t=()=>{var s,o,r,a;if(!n.current||!(((o=(s=n.current).checkVisibility)==null?void 0:o.call(s))??!0))return!1;const i=jY(n.current);(i.height===0||i.width===0)&&((a=(r=e.getState()).onError)==null||a.call(r,"004",df.error004())),e.setState({width:i.width||500,height:i.height||500})};if(n.current){t(),window.addEventListener("resize",t);const i=new ResizeObserver(()=>t());return i.observe(n.current),()=>{window.removeEventListener("resize",t),i&&n.current&&i.unobserve(n.current)}}},[])}const B3={position:"absolute",width:"100%",height:"100%",top:0,left:0},FRe=n=>({userSelectionActive:n.userSelectionActive,lib:n.lib,connectionInProgress:n.connection.inProgress});function BRe({onPaneContextMenu:n,zoomOnScroll:e=!0,zoomOnPinch:t=!0,panOnScroll:i=!1,panOnScrollSpeed:s=.5,panOnScrollMode:o=c1.Free,zoomOnDoubleClick:r=!0,panOnDrag:a=!0,defaultViewport:l,translateExtent:c,minZoom:d,maxZoom:u,zoomActivationKeyCode:h,preventScrolling:f=!0,children:g,noWheelClassName:p,noPanClassName:_,onViewportChange:b,isControlledViewport:v,paneClickDistance:C,selectionOnDrag:y}){const S=Vs(),x=R.useRef(null),{userSelectionActive:L,lib:k,connectionInProgress:N}=rn(FRe,Bs),T=zE(h),M=R.useRef();ORe(x);const P=R.useCallback(V=>{b==null||b({x:V[0],y:V[1],zoom:V[2]}),v||S.setState({transform:V})},[b,v]);return R.useEffect(()=>{if(x.current){M.current=D2e({domNode:x.current,minZoom:d,maxZoom:u,translateExtent:c,viewport:l,onDraggingChange:z=>S.setState(U=>U.paneDragging===z?U:{paneDragging:z}),onPanZoomStart:(z,U)=>{const{onViewportChangeStart:W,onMoveStart:F}=S.getState();F==null||F(z,U),W==null||W(U)},onPanZoom:(z,U)=>{const{onViewportChange:W,onMove:F}=S.getState();F==null||F(z,U),W==null||W(U)},onPanZoomEnd:(z,U)=>{const{onViewportChangeEnd:W,onMoveEnd:F}=S.getState();F==null||F(z,U),W==null||W(U)}});const{x:V,y:O,zoom:A}=M.current.getViewport();return S.setState({panZoom:M.current,transform:[V,O,A],domNode:x.current.closest(".react-flow")}),()=>{var z;(z=M.current)==null||z.destroy()}}},[]),R.useEffect(()=>{var V;(V=M.current)==null||V.update({onPaneContextMenu:n,zoomOnScroll:e,zoomOnPinch:t,panOnScroll:i,panOnScrollSpeed:s,panOnScrollMode:o,zoomOnDoubleClick:r,panOnDrag:a,zoomActivationKeyPressed:T,preventScrolling:f,noPanClassName:_,userSelectionActive:L,noWheelClassName:p,lib:k,onTransformChange:P,connectionInProgress:N,selectionOnDrag:y,paneClickDistance:C})},[n,e,t,i,s,o,r,a,T,f,_,L,p,k,P,N,y,C]),m.jsx("div",{className:"react-flow__renderer",ref:x,style:B3,children:g})}const WRe=n=>({userSelectionActive:n.userSelectionActive,userSelectionRect:n.userSelectionRect});function HRe(){const{userSelectionActive:n,userSelectionRect:e}=rn(WRe,Bs);return n&&e?m.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}const b6=(n,e)=>t=>{t.target===e.current&&(n==null||n(t))},VRe=n=>({userSelectionActive:n.userSelectionActive,elementsSelectable:n.elementsSelectable,connectionInProgress:n.connection.inProgress,dragging:n.paneDragging});function jRe({isSelecting:n,selectionKeyPressed:e,selectionMode:t=HE.Full,panOnDrag:i,paneClickDistance:s,selectionOnDrag:o,onSelectionStart:r,onSelectionEnd:a,onPaneClick:l,onPaneContextMenu:c,onPaneScroll:d,onPaneMouseEnter:u,onPaneMouseMove:h,onPaneMouseLeave:f,children:g}){const p=Vs(),{userSelectionActive:_,elementsSelectable:b,dragging:v,connectionInProgress:C}=rn(VRe,Bs),y=b&&(n||_),S=R.useRef(null),x=R.useRef(),L=R.useRef(new Set),k=R.useRef(new Set),N=R.useRef(!1),T=W=>{if(N.current||C){N.current=!1;return}l==null||l(W),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},M=W=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){W.preventDefault();return}c==null||c(W)},P=d?W=>d(W):void 0,V=W=>{N.current&&(W.stopPropagation(),N.current=!1)},O=W=>{var ye,$e;const{domNode:F}=p.getState();if(x.current=F==null?void 0:F.getBoundingClientRect(),!x.current)return;const q=W.target===S.current;if(!q&&!!W.target.closest(".nokey")||!n||!(o&&q||e)||W.button!==0||!W.isPrimary)return;($e=(ye=W.target)==null?void 0:ye.setPointerCapture)==null||$e.call(ye,W.pointerId),N.current=!1;const{x:oe,y:ge}=Nu(W.nativeEvent,x.current);p.setState({userSelectionRect:{width:0,height:0,startX:oe,startY:ge,x:oe,y:ge}}),q||(W.stopPropagation(),W.preventDefault())},A=W=>{const{userSelectionRect:F,transform:q,nodeLookup:X,edgeLookup:Q,connectionLookup:oe,triggerNodeChanges:ge,triggerEdgeChanges:ye,defaultEdgeOptions:$e,resetSelectedElements:Ze}=p.getState();if(!x.current||!F)return;const{x:Ee,y:Je}=Nu(W.nativeEvent,x.current),{startX:lt,startY:Ct}=F;if(!N.current){const Ke=e?0:s;if(Math.hypot(Ee-lt,Je-Ct)<=Ke)return;Ze(),r==null||r(W)}N.current=!0;const Oe={startX:lt,startY:Ct,x:EeKe.id)),k.current=new Set;const si=($e==null?void 0:$e.selectable)??!0;for(const Ke of L.current){const ri=oe.get(Ke);if(ri)for(const{edgeId:Di}of ri.values()){const Nn=Q.get(Di);Nn&&(Nn.selectable??si)&&k.current.add(Di)}}if(!mie(Re,L.current)){const Ke=UC(X,L.current,!0);ge(Ke)}if(!mie(gt,k.current)){const Ke=UC(Q,k.current);ye(Ke)}p.setState({userSelectionRect:Oe,userSelectionActive:!0,nodesSelectionActive:!1})},z=W=>{var F,q;W.button===0&&((q=(F=W.target)==null?void 0:F.releasePointerCapture)==null||q.call(F,W.pointerId),!_&&W.target===S.current&&p.getState().userSelectionRect&&(T==null||T(W)),p.setState({userSelectionActive:!1,userSelectionRect:null}),N.current&&(a==null||a(W),p.setState({nodesSelectionActive:L.current.size>0})))},U=i===!0||Array.isArray(i)&&i.includes(0);return m.jsxs("div",{className:Zo(["react-flow__pane",{draggable:U,dragging:v,selection:n}]),onClick:y?void 0:b6(T,S),onContextMenu:b6(M,S),onWheel:b6(P,S),onPointerEnter:y?void 0:u,onPointerMove:y?A:h,onPointerUp:y?z:void 0,onPointerDownCapture:y?O:void 0,onClickCapture:y?V:void 0,onPointerLeave:f,ref:S,style:B3,children:[g,m.jsx(HRe,{})]})}function fH({id:n,store:e,unselect:t=!1,nodeRef:i}){const{addSelectedNodes:s,unselectNodesAndEdges:o,multiSelectionActive:r,nodeLookup:a,onError:l}=e.getState(),c=a.get(n);if(!c){l==null||l("012",df.error012(n));return}e.setState({nodesSelectionActive:!1}),c.selected?(t||c.selected&&r)&&(o({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var d;return(d=i==null?void 0:i.current)==null?void 0:d.blur()})):s([n])}function Tpe({nodeRef:n,disabled:e=!1,noDragClassName:t,handleSelector:i,nodeId:s,isSelectable:o,nodeClickDistance:r}){const a=Vs(),[l,c]=R.useState(!1),d=R.useRef();return R.useEffect(()=>{d.current=m2e({getStoreItems:()=>a.getState(),onNodeMouseDown:u=>{fH({id:u,store:a,nodeRef:n})},onDragStart:()=>{c(!0)},onDragStop:()=>{c(!1)}})},[]),R.useEffect(()=>{if(!(e||!n.current||!d.current))return d.current.update({noDragClassName:t,handleSelector:i,domNode:n.current,isSelectable:o,nodeId:s,nodeClickDistance:r}),()=>{var u;(u=d.current)==null||u.destroy()}},[t,i,e,o,n,s,r]),l}const zRe=n=>e=>e.selected&&(e.draggable||n&&typeof e.draggable>"u");function Rpe(){const n=Vs();return R.useCallback(t=>{const{nodeExtent:i,snapToGrid:s,snapGrid:o,nodesDraggable:r,onError:a,updateNodePositions:l,nodeLookup:c,nodeOrigin:d}=n.getState(),u=new Map,h=zRe(r),f=s?o[0]:5,g=s?o[1]:5,p=t.direction.x*f*t.factor,_=t.direction.y*g*t.factor;for(const[,b]of c){if(!h(b))continue;let v={x:b.internals.positionAbsolute.x+p,y:b.internals.positionAbsolute.y+_};s&&(v=GD(v,o));const{position:C,positionAbsolute:y}=Kge({nodeId:b.id,nextPosition:v,nodeLookup:c,nodeExtent:i,nodeOrigin:d,onError:a});b.position=C,b.internals.positionAbsolute=y,u.set(b.id,b)}l(u)},[])}const YY=R.createContext(null),$Re=YY.Provider;YY.Consumer;const Mpe=()=>R.useContext(YY),URe=n=>({connectOnClick:n.connectOnClick,noPanClassName:n.noPanClassName,rfId:n.rfId}),qRe=(n,e,t)=>i=>{const{connectionClickStartHandle:s,connectionMode:o,connection:r}=i,{fromHandle:a,toHandle:l,isValid:c}=r,d=(l==null?void 0:l.nodeId)===n&&(l==null?void 0:l.id)===e&&(l==null?void 0:l.type)===t;return{connectingFrom:(a==null?void 0:a.nodeId)===n&&(a==null?void 0:a.id)===e&&(a==null?void 0:a.type)===t,connectingTo:d,clickConnecting:(s==null?void 0:s.nodeId)===n&&(s==null?void 0:s.id)===e&&(s==null?void 0:s.type)===t,isPossibleEndHandle:o===US.Strict?(a==null?void 0:a.type)!==t:n!==(a==null?void 0:a.nodeId)||e!==(a==null?void 0:a.id),connectionInProcess:!!a,clickConnectionInProcess:!!s,valid:d&&c}};function KRe({type:n="source",position:e=Wt.Top,isValidConnection:t,isConnectable:i=!0,isConnectableStart:s=!0,isConnectableEnd:o=!0,id:r,onConnect:a,children:l,className:c,onMouseDown:d,onTouchStart:u,...h},f){var A,z;const g=r||null,p=n==="target",_=Vs(),b=Mpe(),{connectOnClick:v,noPanClassName:C,rfId:y}=rn(URe,Bs),{connectingFrom:S,connectingTo:x,clickConnecting:L,isPossibleEndHandle:k,connectionInProcess:N,clickConnectionInProcess:T,valid:M}=rn(qRe(b,g,n),Bs);b||(z=(A=_.getState()).onError)==null||z.call(A,"010",df.error010());const P=U=>{const{defaultEdgeOptions:W,onConnect:F,hasDefaultEdges:q}=_.getState(),X={...W,...U};if(q){const{edges:Q,setEdges:oe}=_.getState();oe(e2e(X,Q))}F==null||F(X),a==null||a(X)},V=U=>{if(!b)return;const W=tpe(U.nativeEvent);if(s&&(W&&U.button===0||!W)){const F=_.getState();uH.onPointerDown(U.nativeEvent,{handleDomNode:U.currentTarget,autoPanOnConnect:F.autoPanOnConnect,connectionMode:F.connectionMode,connectionRadius:F.connectionRadius,domNode:F.domNode,nodeLookup:F.nodeLookup,lib:F.lib,isTarget:p,handleId:g,nodeId:b,flowId:F.rfId,panBy:F.panBy,cancelConnection:F.cancelConnection,onConnectStart:F.onConnectStart,onConnectEnd:(...q)=>{var X,Q;return(Q=(X=_.getState()).onConnectEnd)==null?void 0:Q.call(X,...q)},updateConnection:F.updateConnection,onConnect:P,isValidConnection:t||((...q)=>{var X,Q;return((Q=(X=_.getState()).isValidConnection)==null?void 0:Q.call(X,...q))??!0}),getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,autoPanSpeed:F.autoPanSpeed,dragThreshold:F.connectionDragThreshold})}W?d==null||d(U):u==null||u(U)},O=U=>{const{onClickConnectStart:W,onClickConnectEnd:F,connectionClickStartHandle:q,connectionMode:X,isValidConnection:Q,lib:oe,rfId:ge,nodeLookup:ye,connection:$e}=_.getState();if(!b||!q&&!s)return;if(!q){W==null||W(U.nativeEvent,{nodeId:b,handleId:g,handleType:n}),_.setState({connectionClickStartHandle:{nodeId:b,type:n,id:g}});return}const Ze=Jge(U.target),Ee=t||Q,{connection:Je,isValid:lt}=uH.isValid(U.nativeEvent,{handle:{nodeId:b,id:g,type:n},connectionMode:X,fromNodeId:q.nodeId,fromHandleId:q.id||null,fromType:q.type,isValidConnection:Ee,flowId:ge,doc:Ze,lib:oe,nodeLookup:ye});lt&&Je&&P(Je);const Ct=structuredClone($e);delete Ct.inProgress,Ct.toPosition=Ct.toHandle?Ct.toHandle.position:null,F==null||F(U,Ct),_.setState({connectionClickStartHandle:null})};return m.jsx("div",{"data-handleid":g,"data-nodeid":b,"data-handlepos":e,"data-id":`${y}-${b}-${g}-${n}`,className:Zo(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",C,c,{source:!p,target:p,connectable:i,connectablestart:s,connectableend:o,clickconnecting:L,connectingfrom:S,connectingto:x,valid:M,connectionindicator:i&&(!N||k)&&(N||T?o:s)}]),onMouseDown:V,onTouchStart:V,onClick:v?O:void 0,ref:f,...h,children:l})}const XS=R.memo(Ipe(KRe));function GRe({data:n,isConnectable:e,sourcePosition:t=Wt.Bottom}){return m.jsxs(m.Fragment,{children:[n==null?void 0:n.label,m.jsx(XS,{type:"source",position:t,isConnectable:e})]})}function YRe({data:n,isConnectable:e,targetPosition:t=Wt.Top,sourcePosition:i=Wt.Bottom}){return m.jsxs(m.Fragment,{children:[m.jsx(XS,{type:"target",position:t,isConnectable:e}),n==null?void 0:n.label,m.jsx(XS,{type:"source",position:i,isConnectable:e})]})}function ZRe(){return null}function XRe({data:n,isConnectable:e,targetPosition:t=Wt.Top}){return m.jsxs(m.Fragment,{children:[m.jsx(XS,{type:"target",position:t,isConnectable:e}),n==null?void 0:n.label]})}const ZA={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},jie={input:GRe,default:YRe,output:XRe,group:ZRe};function QRe(n){var e,t,i,s;return n.internals.handleBounds===void 0?{width:n.width??n.initialWidth??((e=n.style)==null?void 0:e.width),height:n.height??n.initialHeight??((t=n.style)==null?void 0:t.height)}:{width:n.width??((i=n.style)==null?void 0:i.width),height:n.height??((s=n.style)==null?void 0:s.height)}}const JRe=n=>{const{width:e,height:t,x:i,y:s}=KD(n.nodeLookup,{filter:o=>!!o.selected});return{width:ku(e)?e:null,height:ku(t)?t:null,userSelectionActive:n.userSelectionActive,transformString:`translate(${n.transform[0]}px,${n.transform[1]}px) scale(${n.transform[2]}) translate(${i}px,${s}px)`}};function eMe({onSelectionContextMenu:n,noPanClassName:e,disableKeyboardA11y:t}){const i=Vs(),{width:s,height:o,transformString:r,userSelectionActive:a}=rn(JRe,Bs),l=Rpe(),c=R.useRef(null);R.useEffect(()=>{var f;t||(f=c.current)==null||f.focus({preventScroll:!0})},[t]);const d=!a&&s!==null&&o!==null;if(Tpe({nodeRef:c,disabled:!d}),!d)return null;const u=n?f=>{const g=i.getState().nodes.filter(p=>p.selected);n(f,g)}:void 0,h=f=>{Object.prototype.hasOwnProperty.call(ZA,f.key)&&(f.preventDefault(),l({direction:ZA[f.key],factor:f.shiftKey?4:1}))};return m.jsx("div",{className:Zo(["react-flow__nodesselection","react-flow__container",e]),style:{transform:r},children:m.jsx("div",{ref:c,className:"react-flow__nodesselection-rect",onContextMenu:u,tabIndex:t?void 0:-1,onKeyDown:t?void 0:h,style:{width:s,height:o}})})}const zie=typeof window<"u"?window:void 0,tMe=n=>({nodesSelectionActive:n.nodesSelectionActive,userSelectionActive:n.userSelectionActive});function Ape({children:n,onPaneClick:e,onPaneMouseEnter:t,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:o,onPaneScroll:r,paneClickDistance:a,deleteKeyCode:l,selectionKeyCode:c,selectionOnDrag:d,selectionMode:u,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:g,panActivationKeyCode:p,zoomActivationKeyCode:_,elementsSelectable:b,zoomOnScroll:v,zoomOnPinch:C,panOnScroll:y,panOnScrollSpeed:S,panOnScrollMode:x,zoomOnDoubleClick:L,panOnDrag:k,defaultViewport:N,translateExtent:T,minZoom:M,maxZoom:P,preventScrolling:V,onSelectionContextMenu:O,noWheelClassName:A,noPanClassName:z,disableKeyboardA11y:U,onViewportChange:W,isControlledViewport:F}){const{nodesSelectionActive:q,userSelectionActive:X}=rn(tMe,Bs),Q=zE(c,{target:zie}),oe=zE(p,{target:zie}),ge=oe||k,ye=oe||y,$e=d&&ge!==!0,Ze=Q||X||$e;return PRe({deleteKeyCode:l,multiSelectionKeyCode:g}),m.jsx(BRe,{onPaneContextMenu:o,elementsSelectable:b,zoomOnScroll:v,zoomOnPinch:C,panOnScroll:ye,panOnScrollSpeed:S,panOnScrollMode:x,zoomOnDoubleClick:L,panOnDrag:!Q&&ge,defaultViewport:N,translateExtent:T,minZoom:M,maxZoom:P,zoomActivationKeyCode:_,preventScrolling:V,noWheelClassName:A,noPanClassName:z,onViewportChange:W,isControlledViewport:F,paneClickDistance:a,selectionOnDrag:$e,children:m.jsxs(jRe,{onSelectionStart:h,onSelectionEnd:f,onPaneClick:e,onPaneMouseEnter:t,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:o,onPaneScroll:r,panOnDrag:ge,isSelecting:!!Ze,selectionMode:u,selectionKeyPressed:Q,paneClickDistance:a,selectionOnDrag:$e,children:[n,q&&m.jsx(eMe,{onSelectionContextMenu:O,noPanClassName:z,disableKeyboardA11y:U})]})})}Ape.displayName="FlowRenderer";const iMe=R.memo(Ape),nMe=n=>e=>n?HY(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(t=>t.id):Array.from(e.nodeLookup.keys());function sMe(n){return rn(R.useCallback(nMe(n),[n]),Bs)}const oMe=n=>n.updateNodeInternals;function rMe(){const n=rn(oMe),[e]=R.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(t=>{const i=new Map;t.forEach(s=>{const o=s.target.getAttribute("data-id");i.set(o,{id:o,nodeElement:s.target,force:!0})}),n(i)}));return R.useEffect(()=>()=>{e==null||e.disconnect()},[e]),e}function aMe({node:n,nodeType:e,hasDimensions:t,resizeObserver:i}){const s=Vs(),o=R.useRef(null),r=R.useRef(null),a=R.useRef(n.sourcePosition),l=R.useRef(n.targetPosition),c=R.useRef(e),d=t&&!!n.internals.handleBounds;return R.useEffect(()=>{o.current&&!n.hidden&&(!d||r.current!==o.current)&&(r.current&&(i==null||i.unobserve(r.current)),i==null||i.observe(o.current),r.current=o.current)},[d,n.hidden]),R.useEffect(()=>()=>{r.current&&(i==null||i.unobserve(r.current),r.current=null)},[]),R.useEffect(()=>{if(o.current){const u=c.current!==e,h=a.current!==n.sourcePosition,f=l.current!==n.targetPosition;(u||h||f)&&(c.current=e,a.current=n.sourcePosition,l.current=n.targetPosition,s.getState().updateNodeInternals(new Map([[n.id,{id:n.id,nodeElement:o.current,force:!0}]])))}},[n.id,e,n.sourcePosition,n.targetPosition]),o}function lMe({id:n,onClick:e,onMouseEnter:t,onMouseMove:i,onMouseLeave:s,onContextMenu:o,onDoubleClick:r,nodesDraggable:a,elementsSelectable:l,nodesConnectable:c,nodesFocusable:d,resizeObserver:u,noDragClassName:h,noPanClassName:f,disableKeyboardA11y:g,rfId:p,nodeTypes:_,nodeClickDistance:b,onError:v}){const{node:C,internals:y,isParent:S}=rn(Ee=>{const Je=Ee.nodeLookup.get(n),lt=Ee.parentLookup.has(n);return{node:Je,internals:Je.internals,isParent:lt}},Bs);let x=C.type||"default",L=(_==null?void 0:_[x])||jie[x];L===void 0&&(v==null||v("003",df.error003(x)),x="default",L=(_==null?void 0:_.default)||jie.default);const k=!!(C.draggable||a&&typeof C.draggable>"u"),N=!!(C.selectable||l&&typeof C.selectable>"u"),T=!!(C.connectable||c&&typeof C.connectable>"u"),M=!!(C.focusable||d&&typeof C.focusable>"u"),P=Vs(),V=Xge(C),O=aMe({node:C,nodeType:x,hasDimensions:V,resizeObserver:u}),A=Tpe({nodeRef:O,disabled:C.hidden||!k,noDragClassName:h,handleSelector:C.dragHandle,nodeId:n,isSelectable:N,nodeClickDistance:b}),z=Rpe();if(C.hidden)return null;const U=Bp(C),W=QRe(C),F=N||k||e||t||i||s,q=t?Ee=>t(Ee,{...y.userNode}):void 0,X=i?Ee=>i(Ee,{...y.userNode}):void 0,Q=s?Ee=>s(Ee,{...y.userNode}):void 0,oe=o?Ee=>o(Ee,{...y.userNode}):void 0,ge=r?Ee=>r(Ee,{...y.userNode}):void 0,ye=Ee=>{const{selectNodesOnDrag:Je,nodeDragThreshold:lt}=P.getState();N&&(!Je||!k||lt>0)&&fH({id:n,store:P,nodeRef:O}),e&&e(Ee,{...y.userNode})},$e=Ee=>{if(!(epe(Ee.nativeEvent)||g)){if(jge.includes(Ee.key)&&N){const Je=Ee.key==="Escape";fH({id:n,store:P,unselect:Je,nodeRef:O})}else if(k&&C.selected&&Object.prototype.hasOwnProperty.call(ZA,Ee.key)){Ee.preventDefault();const{ariaLabelConfig:Je}=P.getState();P.setState({ariaLiveMessage:Je["node.a11yDescription.ariaLiveMessage"]({direction:Ee.key.replace("Arrow","").toLowerCase(),x:~~y.positionAbsolute.x,y:~~y.positionAbsolute.y})}),z({direction:ZA[Ee.key],factor:Ee.shiftKey?4:1})}}},Ze=()=>{var gt;if(g||!((gt=O.current)!=null&>.matches(":focus-visible")))return;const{transform:Ee,width:Je,height:lt,autoPanOnNodeFocus:Ct,setCenter:Oe}=P.getState();if(!Ct)return;HY(new Map([[n,C]]),{x:0,y:0,width:Je,height:lt},Ee,!0).length>0||Oe(C.position.x+U.width/2,C.position.y+U.height/2,{zoom:Ee[2]})};return m.jsx("div",{className:Zo(["react-flow__node",`react-flow__node-${x}`,{[f]:k},C.className,{selected:C.selected,selectable:N,parent:S,draggable:k,dragging:A}]),ref:O,style:{zIndex:y.z,transform:`translate(${y.positionAbsolute.x}px,${y.positionAbsolute.y}px)`,pointerEvents:F?"all":"none",visibility:V?"visible":"hidden",...C.style,...W},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:q,onMouseMove:X,onMouseLeave:Q,onContextMenu:oe,onClick:ye,onDoubleClick:ge,onKeyDown:M?$e:void 0,tabIndex:M?0:void 0,onFocus:M?Ze:void 0,role:C.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":g?void 0:`${Spe}-${p}`,"aria-label":C.ariaLabel,...C.domAttributes,children:m.jsx($Re,{value:n,children:m.jsx(L,{id:n,data:C.data,type:x,positionAbsoluteX:y.positionAbsolute.x,positionAbsoluteY:y.positionAbsolute.y,selected:C.selected??!1,selectable:N,draggable:k,deletable:C.deletable??!0,isConnectable:T,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:A,dragHandle:C.dragHandle,zIndex:y.z,parentId:C.parentId,...U})})})}var cMe=R.memo(lMe);const dMe=n=>({nodesDraggable:n.nodesDraggable,nodesConnectable:n.nodesConnectable,nodesFocusable:n.nodesFocusable,elementsSelectable:n.elementsSelectable,onError:n.onError});function Ppe(n){const{nodesDraggable:e,nodesConnectable:t,nodesFocusable:i,elementsSelectable:s,onError:o}=rn(dMe,Bs),r=sMe(n.onlyRenderVisibleElements),a=rMe();return m.jsx("div",{className:"react-flow__nodes",style:B3,children:r.map(l=>m.jsx(cMe,{id:l,nodeTypes:n.nodeTypes,nodeExtent:n.nodeExtent,onClick:n.onNodeClick,onMouseEnter:n.onNodeMouseEnter,onMouseMove:n.onNodeMouseMove,onMouseLeave:n.onNodeMouseLeave,onContextMenu:n.onNodeContextMenu,onDoubleClick:n.onNodeDoubleClick,noDragClassName:n.noDragClassName,noPanClassName:n.noPanClassName,rfId:n.rfId,disableKeyboardA11y:n.disableKeyboardA11y,resizeObserver:a,nodesDraggable:e,nodesConnectable:t,nodesFocusable:i,elementsSelectable:s,nodeClickDistance:n.nodeClickDistance,onError:o},l))})}Ppe.displayName="NodeRenderer";const uMe=R.memo(Ppe);function hMe(n){return rn(R.useCallback(t=>{if(!n)return t.edges.map(s=>s.id);const i=[];if(t.width&&t.height)for(const s of t.edges){const o=t.nodeLookup.get(s.source),r=t.nodeLookup.get(s.target);o&&r&&XTe({sourceNode:o,targetNode:r,width:t.width,height:t.height,transform:t.transform})&&i.push(s.id)}return i},[n]),Bs)}const fMe=({color:n="none",strokeWidth:e=1})=>{const t={strokeWidth:e,...n&&{stroke:n}};return m.jsx("polyline",{className:"arrow",style:t,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},gMe=({color:n="none",strokeWidth:e=1})=>{const t={strokeWidth:e,...n&&{stroke:n,fill:n}};return m.jsx("polyline",{className:"arrowclosed",style:t,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},$ie={[T0.Arrow]:fMe,[T0.ArrowClosed]:gMe};function pMe(n){const e=Vs();return R.useMemo(()=>{var s,o;return Object.prototype.hasOwnProperty.call($ie,n)?$ie[n]:((o=(s=e.getState()).onError)==null||o.call(s,"009",df.error009(n)),null)},[n])}const mMe=({id:n,type:e,color:t,width:i=12.5,height:s=12.5,markerUnits:o="strokeWidth",strokeWidth:r,orient:a="auto-start-reverse"})=>{const l=pMe(e);return l?m.jsx("marker",{className:"react-flow__arrowhead",id:n,markerWidth:`${i}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:m.jsx(l,{color:t,strokeWidth:r})}):null},Ope=({defaultColor:n,rfId:e})=>{const t=rn(o=>o.edges),i=rn(o=>o.defaultEdgeOptions),s=R.useMemo(()=>o2e(t,{id:e,defaultColor:n,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[t,i,e,n]);return s.length?m.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:m.jsx("defs",{children:s.map(o=>m.jsx(mMe,{id:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient},o.id))})}):null};Ope.displayName="MarkerDefinitions";var _Me=R.memo(Ope);function Fpe({x:n,y:e,label:t,labelStyle:i,labelShowBg:s=!0,labelBgStyle:o,labelBgPadding:r=[2,4],labelBgBorderRadius:a=2,children:l,className:c,...d}){const[u,h]=R.useState({x:1,y:0,width:0,height:0}),f=Zo(["react-flow__edge-textwrapper",c]),g=R.useRef(null);return R.useEffect(()=>{if(g.current){const p=g.current.getBBox();h({x:p.x,y:p.y,width:p.width,height:p.height})}},[t]),t?m.jsxs("g",{transform:`translate(${n-u.width/2} ${e-u.height/2})`,className:f,visibility:u.width?"visible":"hidden",...d,children:[s&&m.jsx("rect",{width:u.width+2*r[0],x:-r[0],y:-r[1],height:u.height+2*r[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),m.jsx("text",{className:"react-flow__edge-text",y:u.height/2,dy:"0.3em",ref:g,style:i,children:t}),l]}):null}Fpe.displayName="EdgeText";const bMe=R.memo(Fpe);function W3({path:n,labelX:e,labelY:t,label:i,labelStyle:s,labelShowBg:o,labelBgStyle:r,labelBgPadding:a,labelBgBorderRadius:l,interactionWidth:c=20,...d}){return m.jsxs(m.Fragment,{children:[m.jsx("path",{...d,d:n,fill:"none",className:Zo(["react-flow__edge-path",d.className])}),c?m.jsx("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:c,className:"react-flow__edge-interaction"}):null,i&&ku(e)&&ku(t)?m.jsx(bMe,{x:e,y:t,label:i,labelStyle:s,labelShowBg:o,labelBgStyle:r,labelBgPadding:a,labelBgBorderRadius:l}):null]})}function Uie({pos:n,x1:e,y1:t,x2:i,y2:s}){return n===Wt.Left||n===Wt.Right?[.5*(e+i),t]:[e,.5*(t+s)]}function Bpe({sourceX:n,sourceY:e,sourcePosition:t=Wt.Bottom,targetX:i,targetY:s,targetPosition:o=Wt.Top}){const[r,a]=Uie({pos:t,x1:n,y1:e,x2:i,y2:s}),[l,c]=Uie({pos:o,x1:i,y1:s,x2:n,y2:e}),[d,u,h,f]=ipe({sourceX:n,sourceY:e,targetX:i,targetY:s,sourceControlX:r,sourceControlY:a,targetControlX:l,targetControlY:c});return[`M${n},${e} C${r},${a} ${l},${c} ${i},${s}`,d,u,h,f]}function Wpe(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:o,sourcePosition:r,targetPosition:a,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:p,markerStart:_,interactionWidth:b})=>{const[v,C,y]=Bpe({sourceX:t,sourceY:i,sourcePosition:r,targetX:s,targetY:o,targetPosition:a}),S=n.isInternal?void 0:e;return m.jsx(W3,{id:S,path:v,labelX:C,labelY:y,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:p,markerStart:_,interactionWidth:b})})}const vMe=Wpe({isInternal:!1}),Hpe=Wpe({isInternal:!0});vMe.displayName="SimpleBezierEdge";Hpe.displayName="SimpleBezierEdgeInternal";function Vpe(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:o,label:r,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,sourcePosition:f=Wt.Bottom,targetPosition:g=Wt.Top,markerEnd:p,markerStart:_,pathOptions:b,interactionWidth:v})=>{const[C,y,S]=lH({sourceX:t,sourceY:i,sourcePosition:f,targetX:s,targetY:o,targetPosition:g,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),x=n.isInternal?void 0:e;return m.jsx(W3,{id:x,path:C,labelX:y,labelY:S,label:r,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:p,markerStart:_,interactionWidth:v})})}const jpe=Vpe({isInternal:!1}),zpe=Vpe({isInternal:!0});jpe.displayName="SmoothStepEdge";zpe.displayName="SmoothStepEdgeInternal";function $pe(n){return R.memo(({id:e,...t})=>{var s;const i=n.isInternal?void 0:e;return m.jsx(jpe,{...t,id:i,pathOptions:R.useMemo(()=>{var o;return{borderRadius:0,offset:(o=t.pathOptions)==null?void 0:o.offset}},[(s=t.pathOptions)==null?void 0:s.offset])})})}const wMe=$pe({isInternal:!1}),Upe=$pe({isInternal:!0});wMe.displayName="StepEdge";Upe.displayName="StepEdgeInternal";function qpe(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:o,label:r,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:f,markerStart:g,interactionWidth:p})=>{const[_,b,v]=ope({sourceX:t,sourceY:i,targetX:s,targetY:o}),C=n.isInternal?void 0:e;return m.jsx(W3,{id:C,path:_,labelX:b,labelY:v,label:r,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:f,markerStart:g,interactionWidth:p})})}const CMe=qpe({isInternal:!1}),Kpe=qpe({isInternal:!0});CMe.displayName="StraightEdge";Kpe.displayName="StraightEdgeInternal";function Gpe(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:o,sourcePosition:r=Wt.Bottom,targetPosition:a=Wt.Top,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:p,markerStart:_,pathOptions:b,interactionWidth:v})=>{const[C,y,S]=npe({sourceX:t,sourceY:i,sourcePosition:r,targetX:s,targetY:o,targetPosition:a,curvature:b==null?void 0:b.curvature}),x=n.isInternal?void 0:e;return m.jsx(W3,{id:x,path:C,labelX:y,labelY:S,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:p,markerStart:_,interactionWidth:v})})}const yMe=Gpe({isInternal:!1}),Ype=Gpe({isInternal:!0});yMe.displayName="BezierEdge";Ype.displayName="BezierEdgeInternal";const qie={default:Ype,straight:Kpe,step:Upe,smoothstep:zpe,simplebezier:Hpe},Kie={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},SMe=(n,e,t)=>t===Wt.Left?n-e:t===Wt.Right?n+e:n,xMe=(n,e,t)=>t===Wt.Top?n-e:t===Wt.Bottom?n+e:n,Gie="react-flow__edgeupdater";function Yie({position:n,centerX:e,centerY:t,radius:i=10,onMouseDown:s,onMouseEnter:o,onMouseOut:r,type:a}){return m.jsx("circle",{onMouseDown:s,onMouseEnter:o,onMouseOut:r,className:Zo([Gie,`${Gie}-${a}`]),cx:SMe(e,i,n),cy:xMe(t,i,n),r:i,stroke:"transparent",fill:"transparent"})}function LMe({isReconnectable:n,reconnectRadius:e,edge:t,sourceX:i,sourceY:s,targetX:o,targetY:r,sourcePosition:a,targetPosition:l,onReconnect:c,onReconnectStart:d,onReconnectEnd:u,setReconnecting:h,setUpdateHover:f}){const g=Vs(),p=(y,S)=>{if(y.button!==0)return;const{autoPanOnConnect:x,domNode:L,connectionMode:k,connectionRadius:N,lib:T,onConnectStart:M,cancelConnection:P,nodeLookup:V,rfId:O,panBy:A,updateConnection:z}=g.getState(),U=S.type==="target",W=(X,Q)=>{h(!1),u==null||u(X,t,S.type,Q)},F=X=>c==null?void 0:c(t,X),q=(X,Q)=>{h(!0),d==null||d(y,t,S.type),M==null||M(X,Q)};uH.onPointerDown(y.nativeEvent,{autoPanOnConnect:x,connectionMode:k,connectionRadius:N,domNode:L,handleId:S.id,nodeId:S.nodeId,nodeLookup:V,isTarget:U,edgeUpdaterType:S.type,lib:T,flowId:O,cancelConnection:P,panBy:A,isValidConnection:(...X)=>{var Q,oe;return((oe=(Q=g.getState()).isValidConnection)==null?void 0:oe.call(Q,...X))??!0},onConnect:F,onConnectStart:q,onConnectEnd:(...X)=>{var Q,oe;return(oe=(Q=g.getState()).onConnectEnd)==null?void 0:oe.call(Q,...X)},onReconnectEnd:W,updateConnection:z,getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,dragThreshold:g.getState().connectionDragThreshold,handleDomNode:y.currentTarget})},_=y=>p(y,{nodeId:t.target,id:t.targetHandle??null,type:"target"}),b=y=>p(y,{nodeId:t.source,id:t.sourceHandle??null,type:"source"}),v=()=>f(!0),C=()=>f(!1);return m.jsxs(m.Fragment,{children:[(n===!0||n==="source")&&m.jsx(Yie,{position:a,centerX:i,centerY:s,radius:e,onMouseDown:_,onMouseEnter:v,onMouseOut:C,type:"source"}),(n===!0||n==="target")&&m.jsx(Yie,{position:l,centerX:o,centerY:r,radius:e,onMouseDown:b,onMouseEnter:v,onMouseOut:C,type:"target"})]})}function kMe({id:n,edgesFocusable:e,edgesReconnectable:t,elementsSelectable:i,onClick:s,onDoubleClick:o,onContextMenu:r,onMouseEnter:a,onMouseMove:l,onMouseLeave:c,reconnectRadius:d,onReconnect:u,onReconnectStart:h,onReconnectEnd:f,rfId:g,edgeTypes:p,noPanClassName:_,onError:b,disableKeyboardA11y:v}){let C=rn(Oe=>Oe.edgeLookup.get(n));const y=rn(Oe=>Oe.defaultEdgeOptions);C=y?{...y,...C}:C;let S=C.type||"default",x=(p==null?void 0:p[S])||qie[S];x===void 0&&(b==null||b("011",df.error011(S)),S="default",x=(p==null?void 0:p.default)||qie.default);const L=!!(C.focusable||e&&typeof C.focusable>"u"),k=typeof u<"u"&&(C.reconnectable||t&&typeof C.reconnectable>"u"),N=!!(C.selectable||i&&typeof C.selectable>"u"),T=R.useRef(null),[M,P]=R.useState(!1),[V,O]=R.useState(!1),A=Vs(),{zIndex:z,sourceX:U,sourceY:W,targetX:F,targetY:q,sourcePosition:X,targetPosition:Q}=rn(R.useCallback(Oe=>{const Re=Oe.nodeLookup.get(C.source),gt=Oe.nodeLookup.get(C.target);if(!Re||!gt)return{zIndex:C.zIndex,...Kie};const si=s2e({id:n,sourceNode:Re,targetNode:gt,sourceHandle:C.sourceHandle||null,targetHandle:C.targetHandle||null,connectionMode:Oe.connectionMode,onError:b});return{zIndex:ZTe({selected:C.selected,zIndex:C.zIndex,sourceNode:Re,targetNode:gt,elevateOnSelect:Oe.elevateEdgesOnSelect,zIndexMode:Oe.zIndexMode}),...si||Kie}},[C.source,C.target,C.sourceHandle,C.targetHandle,C.selected,C.zIndex]),Bs),oe=R.useMemo(()=>C.markerStart?`url('#${cH(C.markerStart,g)}')`:void 0,[C.markerStart,g]),ge=R.useMemo(()=>C.markerEnd?`url('#${cH(C.markerEnd,g)}')`:void 0,[C.markerEnd,g]);if(C.hidden||U===null||W===null||F===null||q===null)return null;const ye=Oe=>{var Ke;const{addSelectedEdges:Re,unselectNodesAndEdges:gt,multiSelectionActive:si}=A.getState();N&&(A.setState({nodesSelectionActive:!1}),C.selected&&si?(gt({nodes:[],edges:[C]}),(Ke=T.current)==null||Ke.blur()):Re([n])),s&&s(Oe,C)},$e=o?Oe=>{o(Oe,{...C})}:void 0,Ze=r?Oe=>{r(Oe,{...C})}:void 0,Ee=a?Oe=>{a(Oe,{...C})}:void 0,Je=l?Oe=>{l(Oe,{...C})}:void 0,lt=c?Oe=>{c(Oe,{...C})}:void 0,Ct=Oe=>{var Re;if(!v&&jge.includes(Oe.key)&&N){const{unselectNodesAndEdges:gt,addSelectedEdges:si}=A.getState();Oe.key==="Escape"?((Re=T.current)==null||Re.blur(),gt({edges:[C]})):si([n])}};return m.jsx("svg",{style:{zIndex:z},children:m.jsxs("g",{className:Zo(["react-flow__edge",`react-flow__edge-${S}`,C.className,_,{selected:C.selected,animated:C.animated,inactive:!N&&!s,updating:M,selectable:N}]),onClick:ye,onDoubleClick:$e,onContextMenu:Ze,onMouseEnter:Ee,onMouseMove:Je,onMouseLeave:lt,onKeyDown:L?Ct:void 0,tabIndex:L?0:void 0,role:C.ariaRole??(L?"group":"img"),"aria-roledescription":"edge","data-id":n,"data-testid":`rf__edge-${n}`,"aria-label":C.ariaLabel===null?void 0:C.ariaLabel||`Edge from ${C.source} to ${C.target}`,"aria-describedby":L?`${xpe}-${g}`:void 0,ref:T,...C.domAttributes,children:[!V&&m.jsx(x,{id:n,source:C.source,target:C.target,type:C.type,selected:C.selected,animated:C.animated,selectable:N,deletable:C.deletable??!0,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,sourceX:U,sourceY:W,targetX:F,targetY:q,sourcePosition:X,targetPosition:Q,data:C.data,style:C.style,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerStart:oe,markerEnd:ge,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth}),k&&m.jsx(LMe,{edge:C,isReconnectable:k,reconnectRadius:d,onReconnect:u,onReconnectStart:h,onReconnectEnd:f,sourceX:U,sourceY:W,targetX:F,targetY:q,sourcePosition:X,targetPosition:Q,setUpdateHover:P,setReconnecting:O})]})})}var NMe=R.memo(kMe);const EMe=n=>({edgesFocusable:n.edgesFocusable,edgesReconnectable:n.edgesReconnectable,elementsSelectable:n.elementsSelectable,connectionMode:n.connectionMode,onError:n.onError});function Zpe({defaultMarkerColor:n,onlyRenderVisibleElements:e,rfId:t,edgeTypes:i,noPanClassName:s,onReconnect:o,onEdgeContextMenu:r,onEdgeMouseEnter:a,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:d,reconnectRadius:u,onEdgeDoubleClick:h,onReconnectStart:f,onReconnectEnd:g,disableKeyboardA11y:p}){const{edgesFocusable:_,edgesReconnectable:b,elementsSelectable:v,onError:C}=rn(EMe,Bs),y=hMe(e);return m.jsxs("div",{className:"react-flow__edges",children:[m.jsx(_Me,{defaultColor:n,rfId:t}),y.map(S=>m.jsx(NMe,{id:S,edgesFocusable:_,edgesReconnectable:b,elementsSelectable:v,noPanClassName:s,onReconnect:o,onContextMenu:r,onMouseEnter:a,onMouseMove:l,onMouseLeave:c,onClick:d,reconnectRadius:u,onDoubleClick:h,onReconnectStart:f,onReconnectEnd:g,rfId:t,onError:C,edgeTypes:i,disableKeyboardA11y:p},S))]})}Zpe.displayName="EdgeRenderer";const IMe=R.memo(Zpe),DMe=n=>`translate(${n.transform[0]}px,${n.transform[1]}px) scale(${n.transform[2]})`;function TMe({children:n}){const e=rn(DMe);return m.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:n})}function RMe(n){const e=GY(),t=R.useRef(!1);R.useEffect(()=>{!t.current&&e.viewportInitialized&&n&&(setTimeout(()=>n(e),1),t.current=!0)},[n,e.viewportInitialized])}const MMe=n=>{var e;return(e=n.panZoom)==null?void 0:e.syncViewport};function AMe(n){const e=rn(MMe),t=Vs();return R.useEffect(()=>{n&&(e==null||e(n),t.setState({transform:[n.x,n.y,n.zoom]}))},[n,e]),null}function PMe(n){return n.connection.inProgress?{...n.connection,to:YD(n.connection.to,n.transform)}:{...n.connection}}function OMe(n){return PMe}function FMe(n){const e=OMe();return rn(e,Bs)}const BMe=n=>({nodesConnectable:n.nodesConnectable,isValid:n.connection.isValid,inProgress:n.connection.inProgress,width:n.width,height:n.height});function WMe({containerStyle:n,style:e,type:t,component:i}){const{nodesConnectable:s,width:o,height:r,isValid:a,inProgress:l}=rn(BMe,Bs);return!(o&&s&&l)?null:m.jsx("svg",{style:n,width:o,height:r,className:"react-flow__connectionline react-flow__container",children:m.jsx("g",{className:Zo(["react-flow__connection",Uge(a)]),children:m.jsx(Xpe,{style:e,type:t,CustomComponent:i,isValid:a})})})}const Xpe=({style:n,type:e=yg.Bezier,CustomComponent:t,isValid:i})=>{const{inProgress:s,from:o,fromNode:r,fromHandle:a,fromPosition:l,to:c,toNode:d,toHandle:u,toPosition:h,pointer:f}=FMe();if(!s)return;if(t)return m.jsx(t,{connectionLineType:e,connectionLineStyle:n,fromNode:r,fromHandle:a,fromX:o.x,fromY:o.y,toX:c.x,toY:c.y,fromPosition:l,toPosition:h,connectionStatus:Uge(i),toNode:d,toHandle:u,pointer:f});let g="";const p={sourceX:o.x,sourceY:o.y,sourcePosition:l,targetX:c.x,targetY:c.y,targetPosition:h};switch(e){case yg.Bezier:[g]=npe(p);break;case yg.SimpleBezier:[g]=Bpe(p);break;case yg.Step:[g]=lH({...p,borderRadius:0});break;case yg.SmoothStep:[g]=lH(p);break;default:[g]=ope(p)}return m.jsx("path",{d:g,fill:"none",className:"react-flow__connection-path",style:n})};Xpe.displayName="ConnectionLine";const HMe={};function Zie(n=HMe){R.useRef(n),Vs(),R.useEffect(()=>{},[n])}function VMe(){Vs(),R.useRef(!1),R.useEffect(()=>{},[])}function Qpe({nodeTypes:n,edgeTypes:e,onInit:t,onNodeClick:i,onEdgeClick:s,onNodeDoubleClick:o,onEdgeDoubleClick:r,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:c,onNodeContextMenu:d,onSelectionContextMenu:u,onSelectionStart:h,onSelectionEnd:f,connectionLineType:g,connectionLineStyle:p,connectionLineComponent:_,connectionLineContainerStyle:b,selectionKeyCode:v,selectionOnDrag:C,selectionMode:y,multiSelectionKeyCode:S,panActivationKeyCode:x,zoomActivationKeyCode:L,deleteKeyCode:k,onlyRenderVisibleElements:N,elementsSelectable:T,defaultViewport:M,translateExtent:P,minZoom:V,maxZoom:O,preventScrolling:A,defaultMarkerColor:z,zoomOnScroll:U,zoomOnPinch:W,panOnScroll:F,panOnScrollSpeed:q,panOnScrollMode:X,zoomOnDoubleClick:Q,panOnDrag:oe,onPaneClick:ge,onPaneMouseEnter:ye,onPaneMouseMove:$e,onPaneMouseLeave:Ze,onPaneScroll:Ee,onPaneContextMenu:Je,paneClickDistance:lt,nodeClickDistance:Ct,onEdgeContextMenu:Oe,onEdgeMouseEnter:Re,onEdgeMouseMove:gt,onEdgeMouseLeave:si,reconnectRadius:Ke,onReconnect:ri,onReconnectStart:Di,onReconnectEnd:Nn,noDragClassName:Ye,noWheelClassName:qt,noPanClassName:Xt,disableKeyboardA11y:ln,nodeExtent:fa,rfId:po,viewport:es,onViewportChange:ts}){return Zie(n),Zie(e),VMe(),RMe(t),AMe(es),m.jsx(iMe,{onPaneClick:ge,onPaneMouseEnter:ye,onPaneMouseMove:$e,onPaneMouseLeave:Ze,onPaneContextMenu:Je,onPaneScroll:Ee,paneClickDistance:lt,deleteKeyCode:k,selectionKeyCode:v,selectionOnDrag:C,selectionMode:y,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:S,panActivationKeyCode:x,zoomActivationKeyCode:L,elementsSelectable:T,zoomOnScroll:U,zoomOnPinch:W,zoomOnDoubleClick:Q,panOnScroll:F,panOnScrollSpeed:q,panOnScrollMode:X,panOnDrag:oe,defaultViewport:M,translateExtent:P,minZoom:V,maxZoom:O,onSelectionContextMenu:u,preventScrolling:A,noDragClassName:Ye,noWheelClassName:qt,noPanClassName:Xt,disableKeyboardA11y:ln,onViewportChange:ts,isControlledViewport:!!es,children:m.jsxs(TMe,{children:[m.jsx(IMe,{edgeTypes:e,onEdgeClick:s,onEdgeDoubleClick:r,onReconnect:ri,onReconnectStart:Di,onReconnectEnd:Nn,onlyRenderVisibleElements:N,onEdgeContextMenu:Oe,onEdgeMouseEnter:Re,onEdgeMouseMove:gt,onEdgeMouseLeave:si,reconnectRadius:Ke,defaultMarkerColor:z,noPanClassName:Xt,disableKeyboardA11y:ln,rfId:po}),m.jsx(WMe,{style:p,type:g,component:_,containerStyle:b}),m.jsx("div",{className:"react-flow__edgelabel-renderer"}),m.jsx(uMe,{nodeTypes:n,onNodeClick:i,onNodeDoubleClick:o,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:c,onNodeContextMenu:d,nodeClickDistance:Ct,onlyRenderVisibleElements:N,noPanClassName:Xt,noDragClassName:Ye,disableKeyboardA11y:ln,nodeExtent:fa,rfId:po}),m.jsx("div",{className:"react-flow__viewport-portal"})]})})}Qpe.displayName="GraphView";const jMe=R.memo(Qpe),Xie=({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,width:s,height:o,fitView:r,fitViewOptions:a,minZoom:l=.5,maxZoom:c=2,nodeOrigin:d,nodeExtent:u,zIndexMode:h="basic"}={})=>{const f=new Map,g=new Map,p=new Map,_=new Map,b=i??e??[],v=t??n??[],C=d??[0,0],y=u??WE;lpe(p,_,b);const{nodesInitialized:S}=dH(v,f,g,{nodeOrigin:C,nodeExtent:y,zIndexMode:h});let x=[0,0,1];if(r&&s&&o){const L=KD(f,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:k,y:N,zoom:T}=VY(L,s,o,l,c,(a==null?void 0:a.padding)??.1);x=[k,N,T]}return{rfId:"1",width:s??0,height:o??0,transform:x,nodes:v,nodesInitialized:S,nodeLookup:f,parentLookup:g,edges:b,edgeLookup:_,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:t!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:l,maxZoom:c,translateExtent:WE,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:US.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:r??!1,fitViewOptions:a,fitViewResolver:null,connection:{...$ge},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:$Te,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:zge,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},zMe=({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,width:s,height:o,fitView:r,fitViewOptions:a,minZoom:l,maxZoom:c,nodeOrigin:d,nodeExtent:u,zIndexMode:h})=>lRe((f,g)=>{async function p(){const{nodeLookup:_,panZoom:b,fitViewOptions:v,fitViewResolver:C,width:y,height:S,minZoom:x,maxZoom:L}=g();b&&(await jTe({nodes:_,width:y,height:S,panZoom:b,minZoom:x,maxZoom:L},v),C==null||C.resolve(!0),f({fitViewResolver:null}))}return{...Xie({nodes:n,edges:e,width:s,height:o,fitView:r,fitViewOptions:a,minZoom:l,maxZoom:c,nodeOrigin:d,nodeExtent:u,defaultNodes:t,defaultEdges:i,zIndexMode:h}),setNodes:_=>{const{nodeLookup:b,parentLookup:v,nodeOrigin:C,elevateNodesOnSelect:y,fitViewQueued:S,zIndexMode:x,nodesSelectionActive:L}=g(),{nodesInitialized:k,hasSelectedNodes:N}=dH(_,b,v,{nodeOrigin:C,nodeExtent:u,elevateNodesOnSelect:y,checkEquality:!0,zIndexMode:x}),T=L&&N;S&&k?(p(),f({nodes:_,nodesInitialized:k,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:T})):f({nodes:_,nodesInitialized:k,nodesSelectionActive:T})},setEdges:_=>{const{connectionLookup:b,edgeLookup:v}=g();lpe(b,v,_),f({edges:_})},setDefaultNodesAndEdges:(_,b)=>{if(_){const{setNodes:v}=g();v(_),f({hasDefaultNodes:!0})}if(b){const{setEdges:v}=g();v(b),f({hasDefaultEdges:!0})}},updateNodeInternals:_=>{const{triggerNodeChanges:b,nodeLookup:v,parentLookup:C,domNode:y,nodeOrigin:S,nodeExtent:x,debug:L,fitViewQueued:k,zIndexMode:N}=g(),{changes:T,updatedInternals:M}=h2e(_,v,C,y,S,x,N);M&&(l2e(v,C,{nodeOrigin:S,nodeExtent:x,zIndexMode:N}),k?(p(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(T==null?void 0:T.length)>0&&(L&&console.log("React Flow: trigger node changes",T),b==null||b(T)))},updateNodePositions:(_,b=!1)=>{const v=[];let C=[];const{nodeLookup:y,triggerNodeChanges:S,connection:x,updateConnection:L,onNodesChangeMiddlewareMap:k}=g();for(const[N,T]of _){const M=y.get(N),P=!!(M!=null&&M.expandParent&&(M!=null&&M.parentId)&&(T!=null&&T.position)),V={id:N,type:"position",position:P?{x:Math.max(0,T.position.x),y:Math.max(0,T.position.y)}:T.position,dragging:b};if(M&&x.inProgress&&x.fromNode.id===M.id){const O=M0(M,x.fromHandle,Wt.Left,!0);L({...x,from:O})}P&&M.parentId&&v.push({id:N,parentId:M.parentId,rect:{...T.internals.positionAbsolute,width:T.measured.width??0,height:T.measured.height??0}}),C.push(V)}if(v.length>0){const{parentLookup:N,nodeOrigin:T}=g(),M=KY(v,y,N,T);C.push(...M)}for(const N of k.values())C=N(C);S(C)},triggerNodeChanges:_=>{const{onNodesChange:b,setNodes:v,nodes:C,hasDefaultNodes:y,debug:S}=g();if(_!=null&&_.length){if(y){const x=Npe(_,C);v(x)}S&&console.log("React Flow: trigger node changes",_),b==null||b(_)}},triggerEdgeChanges:_=>{const{onEdgesChange:b,setEdges:v,edges:C,hasDefaultEdges:y,debug:S}=g();if(_!=null&&_.length){if(y){const x=Epe(_,C);v(x)}S&&console.log("React Flow: trigger edge changes",_),b==null||b(_)}},addSelectedNodes:_=>{const{multiSelectionActive:b,edgeLookup:v,nodeLookup:C,triggerNodeChanges:y,triggerEdgeChanges:S}=g();if(b){const x=_.map(L=>Gb(L,!0));y(x);return}y(UC(C,new Set([..._]),!0)),S(UC(v))},addSelectedEdges:_=>{const{multiSelectionActive:b,edgeLookup:v,nodeLookup:C,triggerNodeChanges:y,triggerEdgeChanges:S}=g();if(b){const x=_.map(L=>Gb(L,!0));S(x);return}S(UC(v,new Set([..._]))),y(UC(C,new Set,!0))},unselectNodesAndEdges:({nodes:_,edges:b}={})=>{const{edges:v,nodes:C,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:x}=g(),L=_||C,k=b||v,N=[];for(const M of L){if(!M.selected)continue;const P=y.get(M.id);P&&(P.selected=!1),N.push(Gb(M.id,!1))}const T=[];for(const M of k)M.selected&&T.push(Gb(M.id,!1));S(N),x(T)},setMinZoom:_=>{const{panZoom:b,maxZoom:v}=g();b==null||b.setScaleExtent([_,v]),f({minZoom:_})},setMaxZoom:_=>{const{panZoom:b,minZoom:v}=g();b==null||b.setScaleExtent([v,_]),f({maxZoom:_})},setTranslateExtent:_=>{var b;(b=g().panZoom)==null||b.setTranslateExtent(_),f({translateExtent:_})},resetSelectedElements:()=>{const{edges:_,nodes:b,triggerNodeChanges:v,triggerEdgeChanges:C,elementsSelectable:y}=g();if(!y)return;const S=b.reduce((L,k)=>k.selected?[...L,Gb(k.id,!1)]:L,[]),x=_.reduce((L,k)=>k.selected?[...L,Gb(k.id,!1)]:L,[]);v(S),C(x)},setNodeExtent:_=>{const{nodes:b,nodeLookup:v,parentLookup:C,nodeOrigin:y,elevateNodesOnSelect:S,nodeExtent:x,zIndexMode:L}=g();_[0][0]===x[0][0]&&_[0][1]===x[0][1]&&_[1][0]===x[1][0]&&_[1][1]===x[1][1]||(dH(b,v,C,{nodeOrigin:y,nodeExtent:_,elevateNodesOnSelect:S,checkEquality:!1,zIndexMode:L}),f({nodeExtent:_}))},panBy:_=>{const{transform:b,width:v,height:C,panZoom:y,translateExtent:S}=g();return f2e({delta:_,panZoom:y,transform:b,translateExtent:S,width:v,height:C})},setCenter:async(_,b,v)=>{const{width:C,height:y,maxZoom:S,panZoom:x}=g();if(!x)return Promise.resolve(!1);const L=typeof(v==null?void 0:v.zoom)<"u"?v.zoom:S;return await x.setViewport({x:C/2-_*L,y:y/2-b*L,zoom:L},{duration:v==null?void 0:v.duration,ease:v==null?void 0:v.ease,interpolate:v==null?void 0:v.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{f({connection:{...$ge}})},updateConnection:_=>{f({connection:_})},reset:()=>f({...Xie()})}},Object.is);function $Me({initialNodes:n,initialEdges:e,defaultNodes:t,defaultEdges:i,initialWidth:s,initialHeight:o,initialMinZoom:r,initialMaxZoom:a,initialFitViewOptions:l,fitView:c,nodeOrigin:d,nodeExtent:u,zIndexMode:h,children:f}){const[g]=R.useState(()=>zMe({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,width:s,height:o,fitView:c,minZoom:r,maxZoom:a,fitViewOptions:l,nodeOrigin:d,nodeExtent:u,zIndexMode:h}));return m.jsx(cRe,{value:g,children:m.jsx(TRe,{children:f})})}function UMe({children:n,nodes:e,edges:t,defaultNodes:i,defaultEdges:s,width:o,height:r,fitView:a,fitViewOptions:l,minZoom:c,maxZoom:d,nodeOrigin:u,nodeExtent:h,zIndexMode:f}){return R.useContext(O3)?m.jsx(m.Fragment,{children:n}):m.jsx($Me,{initialNodes:e,initialEdges:t,defaultNodes:i,defaultEdges:s,initialWidth:o,initialHeight:r,fitView:a,initialFitViewOptions:l,initialMinZoom:c,initialMaxZoom:d,nodeOrigin:u,nodeExtent:h,zIndexMode:f,children:n})}const qMe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function KMe({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,className:s,nodeTypes:o,edgeTypes:r,onNodeClick:a,onEdgeClick:l,onInit:c,onMove:d,onMoveStart:u,onMoveEnd:h,onConnect:f,onConnectStart:g,onConnectEnd:p,onClickConnectStart:_,onClickConnectEnd:b,onNodeMouseEnter:v,onNodeMouseMove:C,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:x,onNodeDragStart:L,onNodeDrag:k,onNodeDragStop:N,onNodesDelete:T,onEdgesDelete:M,onDelete:P,onSelectionChange:V,onSelectionDragStart:O,onSelectionDrag:A,onSelectionDragStop:z,onSelectionContextMenu:U,onSelectionStart:W,onSelectionEnd:F,onBeforeDelete:q,connectionMode:X,connectionLineType:Q=yg.Bezier,connectionLineStyle:oe,connectionLineComponent:ge,connectionLineContainerStyle:ye,deleteKeyCode:$e="Backspace",selectionKeyCode:Ze="Shift",selectionOnDrag:Ee=!1,selectionMode:Je=HE.Full,panActivationKeyCode:lt="Space",multiSelectionKeyCode:Ct=jE()?"Meta":"Control",zoomActivationKeyCode:Oe=jE()?"Meta":"Control",snapToGrid:Re,snapGrid:gt,onlyRenderVisibleElements:si=!1,selectNodesOnDrag:Ke,nodesDraggable:ri,autoPanOnNodeFocus:Di,nodesConnectable:Nn,nodesFocusable:Ye,nodeOrigin:qt=Lpe,edgesFocusable:Xt,edgesReconnectable:ln,elementsSelectable:fa=!0,defaultViewport:po=yRe,minZoom:es=.5,maxZoom:ts=2,translateExtent:yl=WE,preventScrolling:_r=!0,nodeExtent:ga,defaultMarkerColor:dc="#b1b1b7",zoomOnScroll:cn=!0,zoomOnPinch:Io=!0,panOnScroll:bn=!1,panOnScrollSpeed:ms=.5,panOnScrollMode:Wr=c1.Free,zoomOnDoubleClick:Ha=!0,panOnDrag:Tf=!0,onPaneClick:js,onPaneMouseEnter:Do,onPaneMouseMove:zs,onPaneMouseLeave:Ri,onPaneScroll:Va,onPaneContextMenu:Oi,paneClickDistance:vn=1,nodeClickDistance:li=0,children:Ud,onReconnect:ja,onReconnectStart:Y,onReconnectEnd:nd,onEdgeContextMenu:qd,onEdgeDoubleClick:Wi,onEdgeMouseEnter:_s,onEdgeMouseMove:it,onEdgeMouseLeave:ih,reconnectRadius:vi=10,onNodesChange:$t,onEdgesChange:no,noDragClassName:To="nodrag",noWheelClassName:za="nowheel",noPanClassName:Hr="nopan",fitView:pa,fitViewOptions:mo,connectOnClick:Kd,attributionPosition:Nt,proOptions:ce,defaultEdgeOptions:Te,elevateNodesOnSelect:bt=!0,elevateEdgesOnSelect:Qi=!1,disableKeyboardA11y:Kn=!1,autoPanOnConnect:Sn,autoPanOnNodeDrag:Es,autoPanSpeed:br,connectionRadius:$s,isValidConnection:Vr,onError:dn,style:Gd,id:Sl,nodeDragThreshold:Rf,connectionDragThreshold:$a,viewport:sd,onViewportChange:Gp,width:Yp,height:Mf,colorMode:Zp="light",debug:Af,onScroll:Qo,ariaLabelConfig:Pf,zIndexMode:re="basic",...Ie},Ve){const Ne=Sl||"1",ai=kRe(Zp),Qt=R.useCallback(gi=>{gi.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Qo==null||Qo(gi)},[Qo]);return m.jsx("div",{"data-testid":"rf__wrapper",...Ie,onScroll:Qt,style:{...Gd,...qMe},ref:Ve,className:Zo(["react-flow",s,ai]),id:Sl,role:"application",children:m.jsxs(UMe,{nodes:n,edges:e,width:Yp,height:Mf,fitView:pa,fitViewOptions:mo,minZoom:es,maxZoom:ts,nodeOrigin:qt,nodeExtent:ga,zIndexMode:re,children:[m.jsx(LRe,{nodes:n,edges:e,defaultNodes:t,defaultEdges:i,onConnect:f,onConnectStart:g,onConnectEnd:p,onClickConnectStart:_,onClickConnectEnd:b,nodesDraggable:ri,autoPanOnNodeFocus:Di,nodesConnectable:Nn,nodesFocusable:Ye,edgesFocusable:Xt,edgesReconnectable:ln,elementsSelectable:fa,elevateNodesOnSelect:bt,elevateEdgesOnSelect:Qi,minZoom:es,maxZoom:ts,nodeExtent:ga,onNodesChange:$t,onEdgesChange:no,snapToGrid:Re,snapGrid:gt,connectionMode:X,translateExtent:yl,connectOnClick:Kd,defaultEdgeOptions:Te,fitView:pa,fitViewOptions:mo,onNodesDelete:T,onEdgesDelete:M,onDelete:P,onNodeDragStart:L,onNodeDrag:k,onNodeDragStop:N,onSelectionDrag:A,onSelectionDragStart:O,onSelectionDragStop:z,onMove:d,onMoveStart:u,onMoveEnd:h,noPanClassName:Hr,nodeOrigin:qt,rfId:Ne,autoPanOnConnect:Sn,autoPanOnNodeDrag:Es,autoPanSpeed:br,onError:dn,connectionRadius:$s,isValidConnection:Vr,selectNodesOnDrag:Ke,nodeDragThreshold:Rf,connectionDragThreshold:$a,onBeforeDelete:q,debug:Af,ariaLabelConfig:Pf,zIndexMode:re}),m.jsx(jMe,{onInit:c,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:v,onNodeMouseMove:C,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:x,nodeTypes:o,edgeTypes:r,connectionLineType:Q,connectionLineStyle:oe,connectionLineComponent:ge,connectionLineContainerStyle:ye,selectionKeyCode:Ze,selectionOnDrag:Ee,selectionMode:Je,deleteKeyCode:$e,multiSelectionKeyCode:Ct,panActivationKeyCode:lt,zoomActivationKeyCode:Oe,onlyRenderVisibleElements:si,defaultViewport:po,translateExtent:yl,minZoom:es,maxZoom:ts,preventScrolling:_r,zoomOnScroll:cn,zoomOnPinch:Io,zoomOnDoubleClick:Ha,panOnScroll:bn,panOnScrollSpeed:ms,panOnScrollMode:Wr,panOnDrag:Tf,onPaneClick:js,onPaneMouseEnter:Do,onPaneMouseMove:zs,onPaneMouseLeave:Ri,onPaneScroll:Va,onPaneContextMenu:Oi,paneClickDistance:vn,nodeClickDistance:li,onSelectionContextMenu:U,onSelectionStart:W,onSelectionEnd:F,onReconnect:ja,onReconnectStart:Y,onReconnectEnd:nd,onEdgeContextMenu:qd,onEdgeDoubleClick:Wi,onEdgeMouseEnter:_s,onEdgeMouseMove:it,onEdgeMouseLeave:ih,reconnectRadius:vi,defaultMarkerColor:dc,noDragClassName:To,noWheelClassName:za,noPanClassName:Hr,rfId:Ne,disableKeyboardA11y:Kn,nodeExtent:ga,viewport:sd,onViewportChange:Gp}),m.jsx(CRe,{onSelectionChange:V}),Ud,m.jsx(mRe,{proOptions:ce,position:Nt}),m.jsx(pRe,{rfId:Ne,disableKeyboardA11y:Kn})]})})}var GMe=Ipe(KMe);function YMe({dimensions:n,lineWidth:e,variant:t,className:i}){return m.jsx("path",{strokeWidth:e,d:`M${n[0]/2} 0 V${n[1]} M0 ${n[1]/2} H${n[0]}`,className:Zo(["react-flow__background-pattern",t,i])})}function ZMe({radius:n,className:e}){return m.jsx("circle",{cx:n,cy:n,r:n,className:Zo(["react-flow__background-pattern","dots",e])})}var Xg;(function(n){n.Lines="lines",n.Dots="dots",n.Cross="cross"})(Xg||(Xg={}));const XMe={[Xg.Dots]:1,[Xg.Lines]:1,[Xg.Cross]:6},QMe=n=>({transform:n.transform,patternId:`pattern-${n.rfId}`});function Jpe({id:n,variant:e=Xg.Dots,gap:t=20,size:i,lineWidth:s=1,offset:o=0,color:r,bgColor:a,style:l,className:c,patternClassName:d}){const u=R.useRef(null),{transform:h,patternId:f}=rn(QMe,Bs),g=i||XMe[e],p=e===Xg.Dots,_=e===Xg.Cross,b=Array.isArray(t)?t:[t,t],v=[b[0]*h[2]||1,b[1]*h[2]||1],C=g*h[2],y=Array.isArray(o)?o:[o,o],S=_?[C,C]:v,x=[y[0]*h[2]||1+S[0]/2,y[1]*h[2]||1+S[1]/2],L=`${f}${n||""}`;return m.jsxs("svg",{className:Zo(["react-flow__background",c]),style:{...l,...B3,"--xy-background-color-props":a,"--xy-background-pattern-color-props":r},ref:u,"data-testid":"rf__background",children:[m.jsx("pattern",{id:L,x:h[0]%v[0],y:h[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${x[0]},-${x[1]})`,children:p?m.jsx(ZMe,{radius:C/2,className:d}):m.jsx(YMe,{dimensions:S,lineWidth:s,variant:e,className:d})}),m.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${L})`})]})}Jpe.displayName="Background";const JMe=R.memo(Jpe);function eAe(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:m.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function tAe(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:m.jsx("path",{d:"M0 0h32v4.2H0z"})})}function iAe(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:m.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function nAe(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:m.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function sAe(){return m.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:m.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function y2({children:n,className:e,...t}){return m.jsx("button",{type:"button",className:Zo(["react-flow__controls-button",e]),...t,children:n})}const oAe=n=>({isInteractive:n.nodesDraggable||n.nodesConnectable||n.elementsSelectable,minZoomReached:n.transform[2]<=n.minZoom,maxZoomReached:n.transform[2]>=n.maxZoom,ariaLabelConfig:n.ariaLabelConfig});function eme({style:n,showZoom:e=!0,showFitView:t=!0,showInteractive:i=!0,fitViewOptions:s,onZoomIn:o,onZoomOut:r,onFitView:a,onInteractiveChange:l,className:c,children:d,position:u="bottom-left",orientation:h="vertical","aria-label":f}){const g=Vs(),{isInteractive:p,minZoomReached:_,maxZoomReached:b,ariaLabelConfig:v}=rn(oAe,Bs),{zoomIn:C,zoomOut:y,fitView:S}=GY(),x=()=>{C(),o==null||o()},L=()=>{y(),r==null||r()},k=()=>{S(s),a==null||a()},N=()=>{g.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),l==null||l(!p)},T=h==="horizontal"?"horizontal":"vertical";return m.jsxs(F3,{className:Zo(["react-flow__controls",T,c]),position:u,style:n,"data-testid":"rf__controls","aria-label":f??v["controls.ariaLabel"],children:[e&&m.jsxs(m.Fragment,{children:[m.jsx(y2,{onClick:x,className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:b,children:m.jsx(eAe,{})}),m.jsx(y2,{onClick:L,className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:_,children:m.jsx(tAe,{})})]}),t&&m.jsx(y2,{className:"react-flow__controls-fitview",onClick:k,title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:m.jsx(iAe,{})}),i&&m.jsx(y2,{className:"react-flow__controls-interactive",onClick:N,title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:p?m.jsx(sAe,{}):m.jsx(nAe,{})}),d]})}eme.displayName="Controls";const rAe=R.memo(eme);function aAe({id:n,x:e,y:t,width:i,height:s,style:o,color:r,strokeColor:a,strokeWidth:l,className:c,borderRadius:d,shapeRendering:u,selected:h,onClick:f}){const{background:g,backgroundColor:p}=o||{},_=r||g||p;return m.jsx("rect",{className:Zo(["react-flow__minimap-node",{selected:h},c]),x:e,y:t,rx:d,ry:d,width:i,height:s,style:{fill:_,stroke:a,strokeWidth:l},shapeRendering:u,onClick:f?b=>f(b,n):void 0})}const lAe=R.memo(aAe),cAe=n=>n.nodes.map(e=>e.id),v6=n=>n instanceof Function?n:()=>n;function dAe({nodeStrokeColor:n,nodeColor:e,nodeClassName:t="",nodeBorderRadius:i=5,nodeStrokeWidth:s,nodeComponent:o=lAe,onClick:r}){const a=rn(cAe,Bs),l=v6(e),c=v6(n),d=v6(t),u=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return m.jsx(m.Fragment,{children:a.map(h=>m.jsx(hAe,{id:h,nodeColorFunc:l,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:i,nodeStrokeWidth:s,NodeComponent:o,onClick:r,shapeRendering:u},h))})}function uAe({id:n,nodeColorFunc:e,nodeStrokeColorFunc:t,nodeClassNameFunc:i,nodeBorderRadius:s,nodeStrokeWidth:o,shapeRendering:r,NodeComponent:a,onClick:l}){const{node:c,x:d,y:u,width:h,height:f}=rn(g=>{const p=g.nodeLookup.get(n);if(!p)return{node:void 0,x:0,y:0,width:0,height:0};const _=p.internals.userNode,{x:b,y:v}=p.internals.positionAbsolute,{width:C,height:y}=Bp(_);return{node:_,x:b,y:v,width:C,height:y}},Bs);return!c||c.hidden||!Xge(c)?null:m.jsx(a,{x:d,y:u,width:h,height:f,style:c.style,selected:!!c.selected,className:i(c),color:e(c),borderRadius:s,strokeColor:t(c),strokeWidth:o,shapeRendering:r,onClick:l,id:c.id})}const hAe=R.memo(uAe);var fAe=R.memo(dAe);const gAe=200,pAe=150,mAe=n=>!n.hidden,_Ae=n=>{const e={x:-n.transform[0]/n.transform[2],y:-n.transform[1]/n.transform[2],width:n.width/n.transform[2],height:n.height/n.transform[2]};return{viewBB:e,boundingRect:n.nodeLookup.size>0?Zge(KD(n.nodeLookup,{filter:mAe}),e):e,rfId:n.rfId,panZoom:n.panZoom,translateExtent:n.translateExtent,flowWidth:n.width,flowHeight:n.height,ariaLabelConfig:n.ariaLabelConfig}},bAe="react-flow__minimap-desc";function tme({style:n,className:e,nodeStrokeColor:t,nodeColor:i,nodeClassName:s="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:a,bgColor:l,maskColor:c,maskStrokeColor:d,maskStrokeWidth:u,position:h="bottom-right",onClick:f,onNodeClick:g,pannable:p=!1,zoomable:_=!1,ariaLabel:b,inversePan:v,zoomStep:C=1,offsetScale:y=5}){const S=Vs(),x=R.useRef(null),{boundingRect:L,viewBB:k,rfId:N,panZoom:T,translateExtent:M,flowWidth:P,flowHeight:V,ariaLabelConfig:O}=rn(_Ae,Bs),A=(n==null?void 0:n.width)??gAe,z=(n==null?void 0:n.height)??pAe,U=L.width/A,W=L.height/z,F=Math.max(U,W),q=F*A,X=F*z,Q=y*F,oe=L.x-(q-L.width)/2-Q,ge=L.y-(X-L.height)/2-Q,ye=q+Q*2,$e=X+Q*2,Ze=`${bAe}-${N}`,Ee=R.useRef(0),Je=R.useRef();Ee.current=F,R.useEffect(()=>{if(x.current&&T)return Je.current=y2e({domNode:x.current,panZoom:T,getTransform:()=>S.getState().transform,getViewScale:()=>Ee.current}),()=>{var Re;(Re=Je.current)==null||Re.destroy()}},[T]),R.useEffect(()=>{var Re;(Re=Je.current)==null||Re.update({translateExtent:M,width:P,height:V,inversePan:v,pannable:p,zoomStep:C,zoomable:_})},[p,_,v,C,M,P,V]);const lt=f?Re=>{var Ke;const[gt,si]=((Ke=Je.current)==null?void 0:Ke.pointer(Re))||[0,0];f(Re,{x:gt,y:si})}:void 0,Ct=g?R.useCallback((Re,gt)=>{const si=S.getState().nodeLookup.get(gt).internals.userNode;g(Re,si)},[]):void 0,Oe=b??O["minimap.ariaLabel"];return m.jsx(F3,{position:h,style:{...n,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof u=="number"?u*F:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof t=="string"?t:void 0,"--xy-minimap-node-stroke-width-props":typeof r=="number"?r:void 0},className:Zo(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:m.jsxs("svg",{width:A,height:z,viewBox:`${oe} ${ge} ${ye} ${$e}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Ze,ref:x,onClick:lt,children:[Oe&&m.jsx("title",{id:Ze,children:Oe}),m.jsx(fAe,{onClick:Ct,nodeColor:i,nodeStrokeColor:t,nodeBorderRadius:o,nodeClassName:s,nodeStrokeWidth:r,nodeComponent:a}),m.jsx("path",{className:"react-flow__minimap-mask",d:`M${oe-Q},${ge-Q}h${ye+Q*2}v${$e+Q*2}h${-ye-Q*2}z - M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}tme.displayName="MiniMap";const vAe=R.memo(tme),wAe=n=>e=>n?`${Math.max(1/e.transform[2],1)}`:void 0,CAe={[YS.Line]:"right",[YS.Handle]:"bottom-right"};function yAe({nodeId:n,position:e,variant:t=YS.Handle,className:i,style:s=void 0,children:o,color:r,minWidth:a=10,minHeight:l=10,maxWidth:c=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:u=!1,resizeDirection:h,autoScale:f=!0,shouldResize:g,onResizeStart:p,onResize:_,onResizeEnd:b}){const v=Mpe(),C=typeof n=="string"?n:v,y=Vs(),S=R.useRef(null),x=t===YS.Handle,L=rn(R.useCallback(wAe(x&&f),[x,f]),Bs),k=R.useRef(null),N=e??CAe[t];R.useEffect(()=>{if(!(!S.current||!C))return k.current||(k.current=O2e({domNode:S.current,nodeId:C,getStoreItems:()=>{const{nodeLookup:M,transform:P,snapGrid:V,snapToGrid:O,nodeOrigin:A,domNode:z}=y.getState();return{nodeLookup:M,transform:P,snapGrid:V,snapToGrid:O,nodeOrigin:A,paneDomNode:z}},onChange:(M,P)=>{const{triggerNodeChanges:V,nodeLookup:O,parentLookup:A,nodeOrigin:z}=y.getState(),U=[],W={x:M.x,y:M.y},F=O.get(C);if(F&&F.expandParent&&F.parentId){const q=F.origin??z,X=M.width??F.measured.width??0,Q=M.height??F.measured.height??0,oe={id:F.id,parentId:F.parentId,rect:{width:X,height:Q,...Qge({x:M.x??F.position.x,y:M.y??F.position.y},{width:X,height:Q},F.parentId,O,q)}},ge=KY([oe],O,A,z);U.push(...ge),W.x=M.x?Math.max(q[0]*X,M.x):void 0,W.y=M.y?Math.max(q[1]*Q,M.y):void 0}if(W.x!==void 0&&W.y!==void 0){const q={id:C,type:"position",position:{...W}};U.push(q)}if(M.width!==void 0&&M.height!==void 0){const X={id:C,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};U.push(X)}for(const q of P){const X={...q,type:"position"};U.push(X)}V(U)},onEnd:({width:M,height:P})=>{const V={id:C,type:"dimensions",resizing:!1,dimensions:{width:M,height:P}};y.getState().triggerNodeChanges([V])}})),k.current.update({controlPosition:N,boundaries:{minWidth:a,minHeight:l,maxWidth:c,maxHeight:d},keepAspectRatio:u,resizeDirection:h,onResizeStart:p,onResize:_,onResizeEnd:b,shouldResize:g}),()=>{var M;(M=k.current)==null||M.destroy()}},[N,a,l,c,d,u,p,_,b,g]);const T=N.split("-");return m.jsx("div",{className:Zo(["react-flow__resize-control","nodrag",...T,t,i]),ref:S,style:{...s,scale:L,...r&&{[x?"backgroundColor":"borderColor"]:r}},children:o})}R.memo(yAe);/** +`)),d=c.reduce((u,h)=>u.concat(...h),[]);return[c,d]}return[[],[]]},[n]);return R.useEffect(()=>{const l=(e==null?void 0:e.target)??lne,c=(e==null?void 0:e.actInsideInputWithModifier)??!0;if(n!==null){const d=f=>{var _,b;if(s.current=f.ctrlKey||f.metaKey||f.shiftKey||f.altKey,(!s.current||s.current&&!c)&&Ope(f))return!1;const m=dne(f.code,a);if(r.current.add(f[m]),cne(o,r.current,!1)){const v=((b=(_=f.composedPath)==null?void 0:_.call(f))==null?void 0:b[0])||f.target,C=(v==null?void 0:v.nodeName)==="BUTTON"||(v==null?void 0:v.nodeName)==="A";e.preventDefault!==!1&&(s.current||!C)&&f.preventDefault(),i(!0)}},u=f=>{const g=dne(f.code,a);cne(o,r.current,!0)?(i(!1),r.current.clear()):r.current.delete(f[g]),f.key==="Meta"&&r.current.clear(),s.current=!1},h=()=>{r.current.clear(),i(!1)};return l==null||l.addEventListener("keydown",d),l==null||l.addEventListener("keyup",u),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{l==null||l.removeEventListener("keydown",d),l==null||l.removeEventListener("keyup",u),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[n,i]),t}function cne(n,e,t){return n.filter(i=>t||i.length===e.size).some(i=>i.every(s=>e.has(s)))}function dne(n,e){return e.includes(n)?"code":"key"}const JRe=()=>{const n=Fs();return R.useMemo(()=>({zoomIn:e=>{const{panZoom:t}=n.getState();return t?t.scaleBy(1.2,e):Promise.resolve(!1)},zoomOut:e=>{const{panZoom:t}=n.getState();return t?t.scaleBy(1/1.2,e):Promise.resolve(!1)},zoomTo:(e,t)=>{const{panZoom:i}=n.getState();return i?i.scaleTo(e,t):Promise.resolve(!1)},getZoom:()=>n.getState().transform[2],setViewport:async(e,t)=>{const{transform:[i,s,r],panZoom:o}=n.getState();return o?(await o.setViewport({x:e.x??i,y:e.y??s,zoom:e.zoom??r},t),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[e,t,i]=n.getState().transform;return{x:e,y:t,zoom:i}},setCenter:async(e,t,i)=>n.getState().setCenter(e,t,i),fitBounds:async(e,t)=>{const{width:i,height:s,minZoom:r,maxZoom:o,panZoom:a}=n.getState(),l=pX(e,i,s,r,o,(t==null?void 0:t.padding)??.1);return a?(await a.setViewport(l,{duration:t==null?void 0:t.duration,ease:t==null?void 0:t.ease,interpolate:t==null?void 0:t.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(e,t={})=>{const{transform:i,snapGrid:s,snapToGrid:r,domNode:o}=n.getState();if(!o)return e;const{x:a,y:l}=o.getBoundingClientRect(),c={x:e.x-a,y:e.y-l},d=t.snapGrid??s,u=t.snapToGrid??r;return _T(c,i,u,d)},flowToScreenPosition:e=>{const{transform:t,domNode:i}=n.getState();if(!i)return e;const{x:s,y:r}=i.getBoundingClientRect(),o=bP(e,t);return{x:o.x+s,y:o.y+r}}}),[])};function lme(n,e){const t=[],i=new Map,s=[];for(const r of n)if(r.type==="add"){s.push(r);continue}else if(r.type==="remove"||r.type==="replace")i.set(r.id,[r]);else{const o=i.get(r.id);o?o.push(r):i.set(r.id,[r])}for(const r of e){const o=i.get(r.id);if(!o){t.push(r);continue}if(o[0].type==="remove")continue;if(o[0].type==="replace"){t.push({...o[0].item});continue}const a={...r};for(const l of o)eMe(l,a);t.push(a)}return s.length&&s.forEach(r=>{r.index!==void 0?t.splice(r.index,0,{...r.item}):t.push({...r.item})}),t}function eMe(n,e){switch(n.type){case"select":{e.selected=n.selected;break}case"position":{typeof n.position<"u"&&(e.position=n.position),typeof n.dragging<"u"&&(e.dragging=n.dragging);break}case"dimensions":{typeof n.dimensions<"u"&&(e.measured={...n.dimensions},n.setAttributes&&((n.setAttributes===!0||n.setAttributes==="width")&&(e.width=n.dimensions.width),(n.setAttributes===!0||n.setAttributes==="height")&&(e.height=n.dimensions.height))),typeof n.resizing=="boolean"&&(e.resizing=n.resizing);break}}}function cme(n,e){return lme(n,e)}function dme(n,e){return lme(n,e)}function uv(n,e){return{id:n,type:"select",selected:e}}function fy(n,e=new Set,t=!1){const i=[];for(const[s,r]of n){const o=e.has(s);!(r.selected===void 0&&!o)&&r.selected!==o&&(t&&(r.selected=o),i.push(uv(r.id,o)))}return i}function une({items:n=[],lookup:e}){var s;const t=[],i=new Map(n.map(r=>[r.id,r]));for(const[r,o]of n.entries()){const a=e.get(o.id),l=((s=a==null?void 0:a.internals)==null?void 0:s.userNode)??a;l!==void 0&&l!==o&&t.push({id:o.id,item:o,type:"replace"}),l===void 0&&t.push({item:o,type:"add",index:r})}for(const[r]of e)i.get(r)===void 0&&t.push({id:r,type:"remove"});return t}function hne(n){return{id:n.id,type:"remove"}}const fne=n=>d2e(n),tMe=n=>Epe(n);function ume(n){return R.forwardRef(n)}function gne(n){const[e,t]=R.useState(BigInt(0)),[i]=R.useState(()=>iMe(()=>t(s=>s+BigInt(1))));return WH(()=>{const s=i.get();s.length&&(n(s),i.reset())},[e]),i}function iMe(n){let e=[];return{get:()=>e,reset:()=>{e=[]},push:t=>{e.push(t),n()}}}const hme=R.createContext(null);function nMe({children:n}){const e=Fs(),t=R.useCallback(a=>{const{nodes:l=[],setNodes:c,hasDefaultNodes:d,onNodesChange:u,nodeLookup:h,fitViewQueued:f,onNodesChangeMiddlewareMap:g}=e.getState();let m=l;for(const b of a)m=typeof b=="function"?b(m):b;let _=une({items:m,lookup:h});for(const b of g.values())_=b(_);d&&c(m),_.length>0?u==null||u(_):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:b,nodes:v,setNodes:C}=e.getState();b&&C(v)})},[]),i=gne(t),s=R.useCallback(a=>{const{edges:l=[],setEdges:c,hasDefaultEdges:d,onEdgesChange:u,edgeLookup:h}=e.getState();let f=l;for(const g of a)f=typeof g=="function"?g(f):g;d?c(f):u&&u(une({items:f,lookup:h}))},[]),r=gne(s),o=R.useMemo(()=>({nodeQueue:i,edgeQueue:r}),[]);return p.jsx(hme.Provider,{value:o,children:n})}function sMe(){const n=R.useContext(hme);if(!n)throw new Error("useBatchContext must be used within a BatchProvider");return n}const rMe=n=>!!n.panZoom;function yX(){const n=JRe(),e=Fs(),t=sMe(),i=Qi(rMe),s=R.useMemo(()=>{const r=u=>e.getState().nodeLookup.get(u),o=u=>{t.nodeQueue.push(u)},a=u=>{t.edgeQueue.push(u)},l=u=>{var b,v;const{nodeLookup:h,nodeOrigin:f}=e.getState(),g=fne(u)?u:h.get(u.id),m=g.parentId?Ape(g.position,g.measured,g.parentId,h,f):g.position,_={...g,position:m,width:((b=g.measured)==null?void 0:b.width)??g.width,height:((v=g.measured)==null?void 0:v.height)??g.height};return hS(_)},c=(u,h,f={replace:!1})=>{o(g=>g.map(m=>{if(m.id===u){const _=typeof h=="function"?h(m):h;return f.replace&&fne(_)?_:{...m,..._}}return m}))},d=(u,h,f={replace:!1})=>{a(g=>g.map(m=>{if(m.id===u){const _=typeof h=="function"?h(m):h;return f.replace&&tMe(_)?_:{...m,..._}}return m}))};return{getNodes:()=>e.getState().nodes.map(u=>({...u})),getNode:u=>{var h;return(h=r(u))==null?void 0:h.internals.userNode},getInternalNode:r,getEdges:()=>{const{edges:u=[]}=e.getState();return u.map(h=>({...h}))},getEdge:u=>e.getState().edgeLookup.get(u),setNodes:o,setEdges:a,addNodes:u=>{const h=Array.isArray(u)?u:[u];t.nodeQueue.push(f=>[...f,...h])},addEdges:u=>{const h=Array.isArray(u)?u:[u];t.edgeQueue.push(f=>[...f,...h])},toObject:()=>{const{nodes:u=[],edges:h=[],transform:f}=e.getState(),[g,m,_]=f;return{nodes:u.map(b=>({...b})),edges:h.map(b=>({...b})),viewport:{x:g,y:m,zoom:_}}},deleteElements:async({nodes:u=[],edges:h=[]})=>{const{nodes:f,edges:g,onNodesDelete:m,onEdgesDelete:_,triggerNodeChanges:b,triggerEdgeChanges:v,onDelete:C,onBeforeDelete:y}=e.getState(),{nodes:x,edges:S}=await p2e({nodesToRemove:u,edgesToRemove:h,nodes:f,edges:g,onBeforeDelete:y}),L=S.length>0,k=x.length>0;if(L){const N=S.map(hne);_==null||_(S),v(N)}if(k){const N=x.map(hne);m==null||m(x),b(N)}return(k||L)&&(C==null||C({nodes:x,edges:S})),{deletedNodes:x,deletedEdges:S}},getIntersectingNodes:(u,h=!0,f)=>{const g=zie(u),m=g?u:l(u),_=f!==void 0;return m?(f||e.getState().nodes).filter(b=>{const v=e.getState().nodeLookup.get(b.id);if(v&&!g&&(b.id===u.id||!v.internals.positionAbsolute))return!1;const C=hS(_?b:v),y=cI(C,m);return h&&y>0||y>=C.width*C.height||y>=m.width*m.height}):[]},isNodeIntersecting:(u,h,f=!0)=>{const m=zie(u)?u:l(u);if(!m)return!1;const _=cI(m,h);return f&&_>0||_>=h.width*h.height||_>=m.width*m.height},updateNode:c,updateNodeData:(u,h,f={replace:!1})=>{c(u,g=>{const m=typeof h=="function"?h(g):h;return f.replace?{...g,data:m}:{...g,data:{...g.data,...m}}},f)},updateEdge:d,updateEdgeData:(u,h,f={replace:!1})=>{d(u,g=>{const m=typeof h=="function"?h(g):h;return f.replace?{...g,data:m}:{...g,data:{...g.data,...m}}},f)},getNodesBounds:u=>{const{nodeLookup:h,nodeOrigin:f}=e.getState();return u2e(u,{nodeLookup:h,nodeOrigin:f})},getHandleConnections:({type:u,id:h,nodeId:f})=>{var g;return Array.from(((g=e.getState().connectionLookup.get(`${f}-${u}${h?`-${h}`:""}`))==null?void 0:g.values())??[])},getNodeConnections:({type:u,handleId:h,nodeId:f})=>{var g;return Array.from(((g=e.getState().connectionLookup.get(`${f}${u?h?`-${u}-${h}`:`-${u}`:""}`))==null?void 0:g.values())??[])},fitView:async u=>{const h=e.getState().fitViewResolver??v2e();return e.setState({fitViewQueued:!0,fitViewOptions:u,fitViewResolver:h}),t.nodeQueue.push(f=>[...f]),h.promise}}},[]);return R.useMemo(()=>({...s,...n,viewportInitialized:i}),[i])}const pne=n=>n.selected,oMe=typeof window<"u"?window:void 0;function aMe({deleteKeyCode:n,multiSelectionKeyCode:e}){const t=Fs(),{deleteElements:i}=yX(),s=uI(n,{actInsideInputWithModifier:!1}),r=uI(e,{target:oMe});R.useEffect(()=>{if(s){const{edges:o,nodes:a}=t.getState();i({nodes:a.filter(pne),edges:o.filter(pne)}),t.setState({nodesSelectionActive:!1})}},[s]),R.useEffect(()=>{t.setState({multiSelectionActive:r})},[r])}function lMe(n){const e=Fs();R.useEffect(()=>{const t=()=>{var s,r,o,a;if(!n.current||!(((r=(s=n.current).checkVisibility)==null?void 0:r.call(s))??!0))return!1;const i=mX(n.current);(i.height===0||i.width===0)&&((a=(o=e.getState()).onError)==null||a.call(o,"004",Cf.error004())),e.setState({width:i.width||500,height:i.height||500})};if(n.current){t(),window.addEventListener("resize",t);const i=new ResizeObserver(()=>t());return i.observe(n.current),()=>{window.removeEventListener("resize",t),i&&n.current&&i.unobserve(n.current)}}},[])}const l8={position:"absolute",width:"100%",height:"100%",top:0,left:0},cMe=n=>({userSelectionActive:n.userSelectionActive,lib:n.lib,connectionInProgress:n.connection.inProgress});function dMe({onPaneContextMenu:n,zoomOnScroll:e=!0,zoomOnPinch:t=!0,panOnScroll:i=!1,panOnScrollSpeed:s=.5,panOnScrollMode:r=N1.Free,zoomOnDoubleClick:o=!0,panOnDrag:a=!0,defaultViewport:l,translateExtent:c,minZoom:d,maxZoom:u,zoomActivationKeyCode:h,preventScrolling:f=!0,children:g,noWheelClassName:m,noPanClassName:_,onViewportChange:b,isControlledViewport:v,paneClickDistance:C,selectionOnDrag:y}){const x=Fs(),S=R.useRef(null),{userSelectionActive:L,lib:k,connectionInProgress:N}=Qi(cMe,As),D=uI(h),M=R.useRef();lMe(S);const P=R.useCallback(V=>{b==null||b({x:V[0],y:V[1],zoom:V[2]}),v||x.setState({transform:V})},[b,v]);return R.useEffect(()=>{if(S.current){M.current=iRe({domNode:S.current,minZoom:d,maxZoom:u,translateExtent:c,viewport:l,onDraggingChange:z=>x.setState(U=>U.paneDragging===z?U:{paneDragging:z}),onPanZoomStart:(z,U)=>{const{onViewportChangeStart:W,onMoveStart:F}=x.getState();F==null||F(z,U),W==null||W(U)},onPanZoom:(z,U)=>{const{onViewportChange:W,onMove:F}=x.getState();F==null||F(z,U),W==null||W(U)},onPanZoomEnd:(z,U)=>{const{onViewportChangeEnd:W,onMoveEnd:F}=x.getState();F==null||F(z,U),W==null||W(U)}});const{x:V,y:O,zoom:A}=M.current.getViewport();return x.setState({panZoom:M.current,transform:[V,O,A],domNode:S.current.closest(".react-flow")}),()=>{var z;(z=M.current)==null||z.destroy()}}},[]),R.useEffect(()=>{var V;(V=M.current)==null||V.update({onPaneContextMenu:n,zoomOnScroll:e,zoomOnPinch:t,panOnScroll:i,panOnScrollSpeed:s,panOnScrollMode:r,zoomOnDoubleClick:o,panOnDrag:a,zoomActivationKeyPressed:D,preventScrolling:f,noPanClassName:_,userSelectionActive:L,noWheelClassName:m,lib:k,onTransformChange:P,connectionInProgress:N,selectionOnDrag:y,paneClickDistance:C})},[n,e,t,i,s,r,o,a,D,f,_,L,m,k,P,N,y,C]),p.jsx("div",{className:"react-flow__renderer",ref:S,style:l8,children:g})}const uMe=n=>({userSelectionActive:n.userSelectionActive,userSelectionRect:n.userSelectionRect});function hMe(){const{userSelectionActive:n,userSelectionRect:e}=Qi(uMe,As);return n&&e?p.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}const $6=(n,e)=>t=>{t.target===e.current&&(n==null||n(t))},fMe=n=>({userSelectionActive:n.userSelectionActive,elementsSelectable:n.elementsSelectable,connectionInProgress:n.connection.inProgress,dragging:n.paneDragging});function gMe({isSelecting:n,selectionKeyPressed:e,selectionMode:t=lI.Full,panOnDrag:i,paneClickDistance:s,selectionOnDrag:r,onSelectionStart:o,onSelectionEnd:a,onPaneClick:l,onPaneContextMenu:c,onPaneScroll:d,onPaneMouseEnter:u,onPaneMouseMove:h,onPaneMouseLeave:f,children:g}){const m=Fs(),{userSelectionActive:_,elementsSelectable:b,dragging:v,connectionInProgress:C}=Qi(fMe,As),y=b&&(n||_),x=R.useRef(null),S=R.useRef(),L=R.useRef(new Set),k=R.useRef(new Set),N=R.useRef(!1),D=W=>{if(N.current||C){N.current=!1;return}l==null||l(W),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},M=W=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){W.preventDefault();return}c==null||c(W)},P=d?W=>d(W):void 0,V=W=>{N.current&&(W.stopPropagation(),N.current=!1)},O=W=>{var ke,$e;const{domNode:F}=m.getState();if(S.current=F==null?void 0:F.getBoundingClientRect(),!S.current)return;const q=W.target===x.current;if(!q&&!!W.target.closest(".nokey")||!n||!(r&&q||e)||W.button!==0||!W.isPrimary)return;($e=(ke=W.target)==null?void 0:ke.setPointerCapture)==null||$e.call(ke,W.pointerId),N.current=!1;const{x:oe,y:pe}=Au(W.nativeEvent,S.current);m.setState({userSelectionRect:{width:0,height:0,startX:oe,startY:pe,x:oe,y:pe}}),q||(W.stopPropagation(),W.preventDefault())},A=W=>{const{userSelectionRect:F,transform:q,nodeLookup:Q,edgeLookup:J,connectionLookup:oe,triggerNodeChanges:pe,triggerEdgeChanges:ke,defaultEdgeOptions:$e,resetSelectedElements:Xe}=m.getState();if(!S.current||!F)return;const{x:Re,y:Je}=Au(W.nativeEvent,S.current),{startX:dt,startY:wt}=F;if(!N.current){const Be=e?0:s;if(Math.hypot(Re-dt,Je-wt)<=Be)return;Xe(),o==null||o(W)}N.current=!0;const Fe={startX:dt,startY:wt,x:ReBe.id)),k.current=new Set;const Ut=($e==null?void 0:$e.selectable)??!0;for(const Be of L.current){const di=oe.get(Be);if(di)for(const{edgeId:xi}of di.values()){const yn=J.get(xi);yn&&(yn.selectable??Ut)&&k.current.add(xi)}}if(!$ie(Ae,L.current)){const Be=fy(Q,L.current,!0);pe(Be)}if(!$ie(Ct,k.current)){const Be=fy(J,k.current);ke(Be)}m.setState({userSelectionRect:Fe,userSelectionActive:!0,nodesSelectionActive:!1})},z=W=>{var F,q;W.button===0&&((q=(F=W.target)==null?void 0:F.releasePointerCapture)==null||q.call(F,W.pointerId),!_&&W.target===x.current&&m.getState().userSelectionRect&&(D==null||D(W)),m.setState({userSelectionActive:!1,userSelectionRect:null}),N.current&&(a==null||a(W),m.setState({nodesSelectionActive:L.current.size>0})))},U=i===!0||Array.isArray(i)&&i.includes(0);return p.jsxs("div",{className:Gr(["react-flow__pane",{draggable:U,dragging:v,selection:n}]),onClick:y?void 0:$6(D,x),onContextMenu:$6(M,x),onWheel:$6(P,x),onPointerEnter:y?void 0:u,onPointerMove:y?A:h,onPointerUp:y?z:void 0,onPointerDownCapture:y?O:void 0,onClickCapture:y?V:void 0,onPointerLeave:f,ref:x,style:l8,children:[g,p.jsx(hMe,{})]})}function HH({id:n,store:e,unselect:t=!1,nodeRef:i}){const{addSelectedNodes:s,unselectNodesAndEdges:r,multiSelectionActive:o,nodeLookup:a,onError:l}=e.getState(),c=a.get(n);if(!c){l==null||l("012",Cf.error012(n));return}e.setState({nodesSelectionActive:!1}),c.selected?(t||c.selected&&o)&&(r({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var d;return(d=i==null?void 0:i.current)==null?void 0:d.blur()})):s([n])}function fme({nodeRef:n,disabled:e=!1,noDragClassName:t,handleSelector:i,nodeId:s,isSelectable:r,nodeClickDistance:o}){const a=Fs(),[l,c]=R.useState(!1),d=R.useRef();return R.useEffect(()=>{d.current=j2e({getStoreItems:()=>a.getState(),onNodeMouseDown:u=>{HH({id:u,store:a,nodeRef:n})},onDragStart:()=>{c(!0)},onDragStop:()=>{c(!1)}})},[]),R.useEffect(()=>{if(!(e||!n.current||!d.current))return d.current.update({noDragClassName:t,handleSelector:i,domNode:n.current,isSelectable:r,nodeId:s,nodeClickDistance:o}),()=>{var u;(u=d.current)==null||u.destroy()}},[t,i,e,r,n,s,o]),l}const pMe=n=>e=>e.selected&&(e.draggable||n&&typeof e.draggable>"u");function gme(){const n=Fs();return R.useCallback(t=>{const{nodeExtent:i,snapToGrid:s,snapGrid:r,nodesDraggable:o,onError:a,updateNodePositions:l,nodeLookup:c,nodeOrigin:d}=n.getState(),u=new Map,h=pMe(o),f=s?r[0]:5,g=s?r[1]:5,m=t.direction.x*f*t.factor,_=t.direction.y*g*t.factor;for(const[,b]of c){if(!h(b))continue;let v={x:b.internals.positionAbsolute.x+m,y:b.internals.positionAbsolute.y+_};s&&(v=mT(v,r));const{position:C,positionAbsolute:y}=Ipe({nodeId:b.id,nextPosition:v,nodeLookup:c,nodeExtent:i,nodeOrigin:d,onError:a});b.position=C,b.internals.positionAbsolute=y,u.set(b.id,b)}l(u)},[])}const xX=R.createContext(null),mMe=xX.Provider;xX.Consumer;const pme=()=>R.useContext(xX),_Me=n=>({connectOnClick:n.connectOnClick,noPanClassName:n.noPanClassName,rfId:n.rfId}),bMe=(n,e,t)=>i=>{const{connectionClickStartHandle:s,connectionMode:r,connection:o}=i,{fromHandle:a,toHandle:l,isValid:c}=o,d=(l==null?void 0:l.nodeId)===n&&(l==null?void 0:l.id)===e&&(l==null?void 0:l.type)===t;return{connectingFrom:(a==null?void 0:a.nodeId)===n&&(a==null?void 0:a.id)===e&&(a==null?void 0:a.type)===t,connectingTo:d,clickConnecting:(s==null?void 0:s.nodeId)===n&&(s==null?void 0:s.id)===e&&(s==null?void 0:s.type)===t,isPossibleEndHandle:r===dS.Strict?(a==null?void 0:a.type)!==t:n!==(a==null?void 0:a.nodeId)||e!==(a==null?void 0:a.id),connectionInProcess:!!a,clickConnectionInProcess:!!s,valid:d&&c}};function vMe({type:n="source",position:e=Wt.Top,isValidConnection:t,isConnectable:i=!0,isConnectableStart:s=!0,isConnectableEnd:r=!0,id:o,onConnect:a,children:l,className:c,onMouseDown:d,onTouchStart:u,...h},f){var A,z;const g=o||null,m=n==="target",_=Fs(),b=pme(),{connectOnClick:v,noPanClassName:C,rfId:y}=Qi(_Me,As),{connectingFrom:x,connectingTo:S,clickConnecting:L,isPossibleEndHandle:k,connectionInProcess:N,clickConnectionInProcess:D,valid:M}=Qi(bMe(b,g,n),As);b||(z=(A=_.getState()).onError)==null||z.call(A,"010",Cf.error010());const P=U=>{const{defaultEdgeOptions:W,onConnect:F,hasDefaultEdges:q}=_.getState(),Q={...W,...U};if(q){const{edges:J,setEdges:oe}=_.getState();oe(k2e(Q,J))}F==null||F(Q),a==null||a(Q)},V=U=>{if(!b)return;const W=Fpe(U.nativeEvent);if(s&&(W&&U.button===0||!W)){const F=_.getState();BH.onPointerDown(U.nativeEvent,{handleDomNode:U.currentTarget,autoPanOnConnect:F.autoPanOnConnect,connectionMode:F.connectionMode,connectionRadius:F.connectionRadius,domNode:F.domNode,nodeLookup:F.nodeLookup,lib:F.lib,isTarget:m,handleId:g,nodeId:b,flowId:F.rfId,panBy:F.panBy,cancelConnection:F.cancelConnection,onConnectStart:F.onConnectStart,onConnectEnd:(...q)=>{var Q,J;return(J=(Q=_.getState()).onConnectEnd)==null?void 0:J.call(Q,...q)},updateConnection:F.updateConnection,onConnect:P,isValidConnection:t||((...q)=>{var Q,J;return((J=(Q=_.getState()).isValidConnection)==null?void 0:J.call(Q,...q))??!0}),getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,autoPanSpeed:F.autoPanSpeed,dragThreshold:F.connectionDragThreshold})}W?d==null||d(U):u==null||u(U)},O=U=>{const{onClickConnectStart:W,onClickConnectEnd:F,connectionClickStartHandle:q,connectionMode:Q,isValidConnection:J,lib:oe,rfId:pe,nodeLookup:ke,connection:$e}=_.getState();if(!b||!q&&!s)return;if(!q){W==null||W(U.nativeEvent,{nodeId:b,handleId:g,handleType:n}),_.setState({connectionClickStartHandle:{nodeId:b,type:n,id:g}});return}const Xe=Ppe(U.target),Re=t||J,{connection:Je,isValid:dt}=BH.isValid(U.nativeEvent,{handle:{nodeId:b,id:g,type:n},connectionMode:Q,fromNodeId:q.nodeId,fromHandleId:q.id||null,fromType:q.type,isValidConnection:Re,flowId:pe,doc:Xe,lib:oe,nodeLookup:ke});dt&&Je&&P(Je);const wt=structuredClone($e);delete wt.inProgress,wt.toPosition=wt.toHandle?wt.toHandle.position:null,F==null||F(U,wt),_.setState({connectionClickStartHandle:null})};return p.jsx("div",{"data-handleid":g,"data-nodeid":b,"data-handlepos":e,"data-id":`${y}-${b}-${g}-${n}`,className:Gr(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",C,c,{source:!m,target:m,connectable:i,connectablestart:s,connectableend:r,clickconnecting:L,connectingfrom:x,connectingto:S,valid:M,connectionindicator:i&&(!N||k)&&(N||D?r:s)}]),onMouseDown:V,onTouchStart:V,onClick:v?O:void 0,ref:f,...h,children:l})}const mS=R.memo(ume(vMe));function wMe({data:n,isConnectable:e,sourcePosition:t=Wt.Bottom}){return p.jsxs(p.Fragment,{children:[n==null?void 0:n.label,p.jsx(mS,{type:"source",position:t,isConnectable:e})]})}function CMe({data:n,isConnectable:e,targetPosition:t=Wt.Top,sourcePosition:i=Wt.Bottom}){return p.jsxs(p.Fragment,{children:[p.jsx(mS,{type:"target",position:t,isConnectable:e}),n==null?void 0:n.label,p.jsx(mS,{type:"source",position:i,isConnectable:e})]})}function yMe(){return null}function xMe({data:n,isConnectable:e,targetPosition:t=Wt.Top}){return p.jsxs(p.Fragment,{children:[p.jsx(mS,{type:"target",position:t,isConnectable:e}),n==null?void 0:n.label]})}const vP={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},mne={input:wMe,default:CMe,output:xMe,group:yMe};function SMe(n){var e,t,i,s;return n.internals.handleBounds===void 0?{width:n.width??n.initialWidth??((e=n.style)==null?void 0:e.width),height:n.height??n.initialHeight??((t=n.style)==null?void 0:t.height)}:{width:n.width??((i=n.style)==null?void 0:i.width),height:n.height??((s=n.style)==null?void 0:s.height)}}const LMe=n=>{const{width:e,height:t,x:i,y:s}=pT(n.nodeLookup,{filter:r=>!!r.selected});return{width:Mu(e)?e:null,height:Mu(t)?t:null,userSelectionActive:n.userSelectionActive,transformString:`translate(${n.transform[0]}px,${n.transform[1]}px) scale(${n.transform[2]}) translate(${i}px,${s}px)`}};function kMe({onSelectionContextMenu:n,noPanClassName:e,disableKeyboardA11y:t}){const i=Fs(),{width:s,height:r,transformString:o,userSelectionActive:a}=Qi(LMe,As),l=gme(),c=R.useRef(null);R.useEffect(()=>{var f;t||(f=c.current)==null||f.focus({preventScroll:!0})},[t]);const d=!a&&s!==null&&r!==null;if(fme({nodeRef:c,disabled:!d}),!d)return null;const u=n?f=>{const g=i.getState().nodes.filter(m=>m.selected);n(f,g)}:void 0,h=f=>{Object.prototype.hasOwnProperty.call(vP,f.key)&&(f.preventDefault(),l({direction:vP[f.key],factor:f.shiftKey?4:1}))};return p.jsx("div",{className:Gr(["react-flow__nodesselection","react-flow__container",e]),style:{transform:o},children:p.jsx("div",{ref:c,className:"react-flow__nodesselection-rect",onContextMenu:u,tabIndex:t?void 0:-1,onKeyDown:t?void 0:h,style:{width:s,height:r}})})}const _ne=typeof window<"u"?window:void 0,NMe=n=>({nodesSelectionActive:n.nodesSelectionActive,userSelectionActive:n.userSelectionActive});function mme({children:n,onPaneClick:e,onPaneMouseEnter:t,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:r,onPaneScroll:o,paneClickDistance:a,deleteKeyCode:l,selectionKeyCode:c,selectionOnDrag:d,selectionMode:u,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:g,panActivationKeyCode:m,zoomActivationKeyCode:_,elementsSelectable:b,zoomOnScroll:v,zoomOnPinch:C,panOnScroll:y,panOnScrollSpeed:x,panOnScrollMode:S,zoomOnDoubleClick:L,panOnDrag:k,defaultViewport:N,translateExtent:D,minZoom:M,maxZoom:P,preventScrolling:V,onSelectionContextMenu:O,noWheelClassName:A,noPanClassName:z,disableKeyboardA11y:U,onViewportChange:W,isControlledViewport:F}){const{nodesSelectionActive:q,userSelectionActive:Q}=Qi(NMe,As),J=uI(c,{target:_ne}),oe=uI(m,{target:_ne}),pe=oe||k,ke=oe||y,$e=d&&pe!==!0,Xe=J||Q||$e;return aMe({deleteKeyCode:l,multiSelectionKeyCode:g}),p.jsx(dMe,{onPaneContextMenu:r,elementsSelectable:b,zoomOnScroll:v,zoomOnPinch:C,panOnScroll:ke,panOnScrollSpeed:x,panOnScrollMode:S,zoomOnDoubleClick:L,panOnDrag:!J&&pe,defaultViewport:N,translateExtent:D,minZoom:M,maxZoom:P,zoomActivationKeyCode:_,preventScrolling:V,noWheelClassName:A,noPanClassName:z,onViewportChange:W,isControlledViewport:F,paneClickDistance:a,selectionOnDrag:$e,children:p.jsxs(gMe,{onSelectionStart:h,onSelectionEnd:f,onPaneClick:e,onPaneMouseEnter:t,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:r,onPaneScroll:o,panOnDrag:pe,isSelecting:!!Xe,selectionMode:u,selectionKeyPressed:J,paneClickDistance:a,selectionOnDrag:$e,children:[n,q&&p.jsx(kMe,{onSelectionContextMenu:O,noPanClassName:z,disableKeyboardA11y:U})]})})}mme.displayName="FlowRenderer";const EMe=R.memo(mme),IMe=n=>e=>n?gX(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(t=>t.id):Array.from(e.nodeLookup.keys());function DMe(n){return Qi(R.useCallback(IMe(n),[n]),As)}const TMe=n=>n.updateNodeInternals;function RMe(){const n=Qi(TMe),[e]=R.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(t=>{const i=new Map;t.forEach(s=>{const r=s.target.getAttribute("data-id");i.set(r,{id:r,nodeElement:s.target,force:!0})}),n(i)}));return R.useEffect(()=>()=>{e==null||e.disconnect()},[e]),e}function MMe({node:n,nodeType:e,hasDimensions:t,resizeObserver:i}){const s=Fs(),r=R.useRef(null),o=R.useRef(null),a=R.useRef(n.sourcePosition),l=R.useRef(n.targetPosition),c=R.useRef(e),d=t&&!!n.internals.handleBounds;return R.useEffect(()=>{r.current&&!n.hidden&&(!d||o.current!==r.current)&&(o.current&&(i==null||i.unobserve(o.current)),i==null||i.observe(r.current),o.current=r.current)},[d,n.hidden]),R.useEffect(()=>()=>{o.current&&(i==null||i.unobserve(o.current),o.current=null)},[]),R.useEffect(()=>{if(r.current){const u=c.current!==e,h=a.current!==n.sourcePosition,f=l.current!==n.targetPosition;(u||h||f)&&(c.current=e,a.current=n.sourcePosition,l.current=n.targetPosition,s.getState().updateNodeInternals(new Map([[n.id,{id:n.id,nodeElement:r.current,force:!0}]])))}},[n.id,e,n.sourcePosition,n.targetPosition]),r}function AMe({id:n,onClick:e,onMouseEnter:t,onMouseMove:i,onMouseLeave:s,onContextMenu:r,onDoubleClick:o,nodesDraggable:a,elementsSelectable:l,nodesConnectable:c,nodesFocusable:d,resizeObserver:u,noDragClassName:h,noPanClassName:f,disableKeyboardA11y:g,rfId:m,nodeTypes:_,nodeClickDistance:b,onError:v}){const{node:C,internals:y,isParent:x}=Qi(Re=>{const Je=Re.nodeLookup.get(n),dt=Re.parentLookup.has(n);return{node:Je,internals:Je.internals,isParent:dt}},As);let S=C.type||"default",L=(_==null?void 0:_[S])||mne[S];L===void 0&&(v==null||v("003",Cf.error003(S)),S="default",L=(_==null?void 0:_.default)||mne.default);const k=!!(C.draggable||a&&typeof C.draggable>"u"),N=!!(C.selectable||l&&typeof C.selectable>"u"),D=!!(C.connectable||c&&typeof C.connectable>"u"),M=!!(C.focusable||d&&typeof C.focusable>"u"),P=Fs(),V=Mpe(C),O=MMe({node:C,nodeType:S,hasDimensions:V,resizeObserver:u}),A=fme({nodeRef:O,disabled:C.hidden||!k,noDragClassName:h,handleSelector:C.dragHandle,nodeId:n,isSelectable:N,nodeClickDistance:b}),z=gme();if(C.hidden)return null;const U=Yp(C),W=SMe(C),F=N||k||e||t||i||s,q=t?Re=>t(Re,{...y.userNode}):void 0,Q=i?Re=>i(Re,{...y.userNode}):void 0,J=s?Re=>s(Re,{...y.userNode}):void 0,oe=r?Re=>r(Re,{...y.userNode}):void 0,pe=o?Re=>o(Re,{...y.userNode}):void 0,ke=Re=>{const{selectNodesOnDrag:Je,nodeDragThreshold:dt}=P.getState();N&&(!Je||!k||dt>0)&&HH({id:n,store:P,nodeRef:O}),e&&e(Re,{...y.userNode})},$e=Re=>{if(!(Ope(Re.nativeEvent)||g)){if(Spe.includes(Re.key)&&N){const Je=Re.key==="Escape";HH({id:n,store:P,unselect:Je,nodeRef:O})}else if(k&&C.selected&&Object.prototype.hasOwnProperty.call(vP,Re.key)){Re.preventDefault();const{ariaLabelConfig:Je}=P.getState();P.setState({ariaLiveMessage:Je["node.a11yDescription.ariaLiveMessage"]({direction:Re.key.replace("Arrow","").toLowerCase(),x:~~y.positionAbsolute.x,y:~~y.positionAbsolute.y})}),z({direction:vP[Re.key],factor:Re.shiftKey?4:1})}}},Xe=()=>{var Ct;if(g||!((Ct=O.current)!=null&&Ct.matches(":focus-visible")))return;const{transform:Re,width:Je,height:dt,autoPanOnNodeFocus:wt,setCenter:Fe}=P.getState();if(!wt)return;gX(new Map([[n,C]]),{x:0,y:0,width:Je,height:dt},Re,!0).length>0||Fe(C.position.x+U.width/2,C.position.y+U.height/2,{zoom:Re[2]})};return p.jsx("div",{className:Gr(["react-flow__node",`react-flow__node-${S}`,{[f]:k},C.className,{selected:C.selected,selectable:N,parent:x,draggable:k,dragging:A}]),ref:O,style:{zIndex:y.z,transform:`translate(${y.positionAbsolute.x}px,${y.positionAbsolute.y}px)`,pointerEvents:F?"all":"none",visibility:V?"visible":"hidden",...C.style,...W},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:q,onMouseMove:Q,onMouseLeave:J,onContextMenu:oe,onClick:ke,onDoubleClick:pe,onKeyDown:M?$e:void 0,tabIndex:M?0:void 0,onFocus:M?Xe:void 0,role:C.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":g?void 0:`${rme}-${m}`,"aria-label":C.ariaLabel,...C.domAttributes,children:p.jsx(mMe,{value:n,children:p.jsx(L,{id:n,data:C.data,type:S,positionAbsoluteX:y.positionAbsolute.x,positionAbsoluteY:y.positionAbsolute.y,selected:C.selected??!1,selectable:N,draggable:k,deletable:C.deletable??!0,isConnectable:D,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:A,dragHandle:C.dragHandle,zIndex:y.z,parentId:C.parentId,...U})})})}var PMe=R.memo(AMe);const OMe=n=>({nodesDraggable:n.nodesDraggable,nodesConnectable:n.nodesConnectable,nodesFocusable:n.nodesFocusable,elementsSelectable:n.elementsSelectable,onError:n.onError});function _me(n){const{nodesDraggable:e,nodesConnectable:t,nodesFocusable:i,elementsSelectable:s,onError:r}=Qi(OMe,As),o=DMe(n.onlyRenderVisibleElements),a=RMe();return p.jsx("div",{className:"react-flow__nodes",style:l8,children:o.map(l=>p.jsx(PMe,{id:l,nodeTypes:n.nodeTypes,nodeExtent:n.nodeExtent,onClick:n.onNodeClick,onMouseEnter:n.onNodeMouseEnter,onMouseMove:n.onNodeMouseMove,onMouseLeave:n.onNodeMouseLeave,onContextMenu:n.onNodeContextMenu,onDoubleClick:n.onNodeDoubleClick,noDragClassName:n.noDragClassName,noPanClassName:n.noPanClassName,rfId:n.rfId,disableKeyboardA11y:n.disableKeyboardA11y,resizeObserver:a,nodesDraggable:e,nodesConnectable:t,nodesFocusable:i,elementsSelectable:s,nodeClickDistance:n.nodeClickDistance,onError:r},l))})}_me.displayName="NodeRenderer";const FMe=R.memo(_me);function BMe(n){return Qi(R.useCallback(t=>{if(!n)return t.edges.map(s=>s.id);const i=[];if(t.width&&t.height)for(const s of t.edges){const r=t.nodeLookup.get(s.source),o=t.nodeLookup.get(s.target);r&&o&&x2e({sourceNode:r,targetNode:o,width:t.width,height:t.height,transform:t.transform})&&i.push(s.id)}return i},[n]),As)}const WMe=({color:n="none",strokeWidth:e=1})=>{const t={strokeWidth:e,...n&&{stroke:n}};return p.jsx("polyline",{className:"arrow",style:t,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},HMe=({color:n="none",strokeWidth:e=1})=>{const t={strokeWidth:e,...n&&{stroke:n,fill:n}};return p.jsx("polyline",{className:"arrowclosed",style:t,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},bne={[Xw.Arrow]:WMe,[Xw.ArrowClosed]:HMe};function VMe(n){const e=Fs();return R.useMemo(()=>{var s,r;return Object.prototype.hasOwnProperty.call(bne,n)?bne[n]:((r=(s=e.getState()).onError)==null||r.call(s,"009",Cf.error009(n)),null)},[n])}const jMe=({id:n,type:e,color:t,width:i=12.5,height:s=12.5,markerUnits:r="strokeWidth",strokeWidth:o,orient:a="auto-start-reverse"})=>{const l=VMe(e);return l?p.jsx("marker",{className:"react-flow__arrowhead",id:n,markerWidth:`${i}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:r,orient:a,refX:"0",refY:"0",children:p.jsx(l,{color:t,strokeWidth:o})}):null},bme=({defaultColor:n,rfId:e})=>{const t=Qi(r=>r.edges),i=Qi(r=>r.defaultEdgeOptions),s=R.useMemo(()=>T2e(t,{id:e,defaultColor:n,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[t,i,e,n]);return s.length?p.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:p.jsx("defs",{children:s.map(r=>p.jsx(jMe,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})}):null};bme.displayName="MarkerDefinitions";var zMe=R.memo(bme);function vme({x:n,y:e,label:t,labelStyle:i,labelShowBg:s=!0,labelBgStyle:r,labelBgPadding:o=[2,4],labelBgBorderRadius:a=2,children:l,className:c,...d}){const[u,h]=R.useState({x:1,y:0,width:0,height:0}),f=Gr(["react-flow__edge-textwrapper",c]),g=R.useRef(null);return R.useEffect(()=>{if(g.current){const m=g.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[t]),t?p.jsxs("g",{transform:`translate(${n-u.width/2} ${e-u.height/2})`,className:f,visibility:u.width?"visible":"hidden",...d,children:[s&&p.jsx("rect",{width:u.width+2*o[0],x:-o[0],y:-o[1],height:u.height+2*o[1],className:"react-flow__edge-textbg",style:r,rx:a,ry:a}),p.jsx("text",{className:"react-flow__edge-text",y:u.height/2,dy:"0.3em",ref:g,style:i,children:t}),l]}):null}vme.displayName="EdgeText";const $Me=R.memo(vme);function c8({path:n,labelX:e,labelY:t,label:i,labelStyle:s,labelShowBg:r,labelBgStyle:o,labelBgPadding:a,labelBgBorderRadius:l,interactionWidth:c=20,...d}){return p.jsxs(p.Fragment,{children:[p.jsx("path",{...d,d:n,fill:"none",className:Gr(["react-flow__edge-path",d.className])}),c?p.jsx("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:c,className:"react-flow__edge-interaction"}):null,i&&Mu(e)&&Mu(t)?p.jsx($Me,{x:e,y:t,label:i,labelStyle:s,labelShowBg:r,labelBgStyle:o,labelBgPadding:a,labelBgBorderRadius:l}):null]})}function vne({pos:n,x1:e,y1:t,x2:i,y2:s}){return n===Wt.Left||n===Wt.Right?[.5*(e+i),t]:[e,.5*(t+s)]}function wme({sourceX:n,sourceY:e,sourcePosition:t=Wt.Bottom,targetX:i,targetY:s,targetPosition:r=Wt.Top}){const[o,a]=vne({pos:t,x1:n,y1:e,x2:i,y2:s}),[l,c]=vne({pos:r,x1:i,y1:s,x2:n,y2:e}),[d,u,h,f]=Bpe({sourceX:n,sourceY:e,targetX:i,targetY:s,sourceControlX:o,sourceControlY:a,targetControlX:l,targetControlY:c});return[`M${n},${e} C${o},${a} ${l},${c} ${i},${s}`,d,u,h,f]}function Cme(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:r,sourcePosition:o,targetPosition:a,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:m,markerStart:_,interactionWidth:b})=>{const[v,C,y]=wme({sourceX:t,sourceY:i,sourcePosition:o,targetX:s,targetY:r,targetPosition:a}),x=n.isInternal?void 0:e;return p.jsx(c8,{id:x,path:v,labelX:C,labelY:y,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:m,markerStart:_,interactionWidth:b})})}const UMe=Cme({isInternal:!1}),yme=Cme({isInternal:!0});UMe.displayName="SimpleBezierEdge";yme.displayName="SimpleBezierEdgeInternal";function xme(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:r,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,sourcePosition:f=Wt.Bottom,targetPosition:g=Wt.Top,markerEnd:m,markerStart:_,pathOptions:b,interactionWidth:v})=>{const[C,y,x]=PH({sourceX:t,sourceY:i,sourcePosition:f,targetX:s,targetY:r,targetPosition:g,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),S=n.isInternal?void 0:e;return p.jsx(c8,{id:S,path:C,labelX:y,labelY:x,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:m,markerStart:_,interactionWidth:v})})}const Sme=xme({isInternal:!1}),Lme=xme({isInternal:!0});Sme.displayName="SmoothStepEdge";Lme.displayName="SmoothStepEdgeInternal";function kme(n){return R.memo(({id:e,...t})=>{var s;const i=n.isInternal?void 0:e;return p.jsx(Sme,{...t,id:i,pathOptions:R.useMemo(()=>{var r;return{borderRadius:0,offset:(r=t.pathOptions)==null?void 0:r.offset}},[(s=t.pathOptions)==null?void 0:s.offset])})})}const qMe=kme({isInternal:!1}),Nme=kme({isInternal:!0});qMe.displayName="StepEdge";Nme.displayName="StepEdgeInternal";function Eme(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:r,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:f,markerStart:g,interactionWidth:m})=>{const[_,b,v]=Vpe({sourceX:t,sourceY:i,targetX:s,targetY:r}),C=n.isInternal?void 0:e;return p.jsx(c8,{id:C,path:_,labelX:b,labelY:v,label:o,labelStyle:a,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:f,markerStart:g,interactionWidth:m})})}const KMe=Eme({isInternal:!1}),Ime=Eme({isInternal:!0});KMe.displayName="StraightEdge";Ime.displayName="StraightEdgeInternal";function Dme(n){return R.memo(({id:e,sourceX:t,sourceY:i,targetX:s,targetY:r,sourcePosition:o=Wt.Bottom,targetPosition:a=Wt.Top,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:m,markerStart:_,pathOptions:b,interactionWidth:v})=>{const[C,y,x]=Wpe({sourceX:t,sourceY:i,sourcePosition:o,targetX:s,targetY:r,targetPosition:a,curvature:b==null?void 0:b.curvature}),S=n.isInternal?void 0:e;return p.jsx(c8,{id:S,path:C,labelX:y,labelY:x,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:g,markerEnd:m,markerStart:_,interactionWidth:v})})}const GMe=Dme({isInternal:!1}),Tme=Dme({isInternal:!0});GMe.displayName="BezierEdge";Tme.displayName="BezierEdgeInternal";const wne={default:Tme,straight:Ime,step:Nme,smoothstep:Lme,simplebezier:yme},Cne={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},YMe=(n,e,t)=>t===Wt.Left?n-e:t===Wt.Right?n+e:n,XMe=(n,e,t)=>t===Wt.Top?n-e:t===Wt.Bottom?n+e:n,yne="react-flow__edgeupdater";function xne({position:n,centerX:e,centerY:t,radius:i=10,onMouseDown:s,onMouseEnter:r,onMouseOut:o,type:a}){return p.jsx("circle",{onMouseDown:s,onMouseEnter:r,onMouseOut:o,className:Gr([yne,`${yne}-${a}`]),cx:YMe(e,i,n),cy:XMe(t,i,n),r:i,stroke:"transparent",fill:"transparent"})}function ZMe({isReconnectable:n,reconnectRadius:e,edge:t,sourceX:i,sourceY:s,targetX:r,targetY:o,sourcePosition:a,targetPosition:l,onReconnect:c,onReconnectStart:d,onReconnectEnd:u,setReconnecting:h,setUpdateHover:f}){const g=Fs(),m=(y,x)=>{if(y.button!==0)return;const{autoPanOnConnect:S,domNode:L,connectionMode:k,connectionRadius:N,lib:D,onConnectStart:M,cancelConnection:P,nodeLookup:V,rfId:O,panBy:A,updateConnection:z}=g.getState(),U=x.type==="target",W=(Q,J)=>{h(!1),u==null||u(Q,t,x.type,J)},F=Q=>c==null?void 0:c(t,Q),q=(Q,J)=>{h(!0),d==null||d(y,t,x.type),M==null||M(Q,J)};BH.onPointerDown(y.nativeEvent,{autoPanOnConnect:S,connectionMode:k,connectionRadius:N,domNode:L,handleId:x.id,nodeId:x.nodeId,nodeLookup:V,isTarget:U,edgeUpdaterType:x.type,lib:D,flowId:O,cancelConnection:P,panBy:A,isValidConnection:(...Q)=>{var J,oe;return((oe=(J=g.getState()).isValidConnection)==null?void 0:oe.call(J,...Q))??!0},onConnect:F,onConnectStart:q,onConnectEnd:(...Q)=>{var J,oe;return(oe=(J=g.getState()).onConnectEnd)==null?void 0:oe.call(J,...Q)},onReconnectEnd:W,updateConnection:z,getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,dragThreshold:g.getState().connectionDragThreshold,handleDomNode:y.currentTarget})},_=y=>m(y,{nodeId:t.target,id:t.targetHandle??null,type:"target"}),b=y=>m(y,{nodeId:t.source,id:t.sourceHandle??null,type:"source"}),v=()=>f(!0),C=()=>f(!1);return p.jsxs(p.Fragment,{children:[(n===!0||n==="source")&&p.jsx(xne,{position:a,centerX:i,centerY:s,radius:e,onMouseDown:_,onMouseEnter:v,onMouseOut:C,type:"source"}),(n===!0||n==="target")&&p.jsx(xne,{position:l,centerX:r,centerY:o,radius:e,onMouseDown:b,onMouseEnter:v,onMouseOut:C,type:"target"})]})}function QMe({id:n,edgesFocusable:e,edgesReconnectable:t,elementsSelectable:i,onClick:s,onDoubleClick:r,onContextMenu:o,onMouseEnter:a,onMouseMove:l,onMouseLeave:c,reconnectRadius:d,onReconnect:u,onReconnectStart:h,onReconnectEnd:f,rfId:g,edgeTypes:m,noPanClassName:_,onError:b,disableKeyboardA11y:v}){let C=Qi(Fe=>Fe.edgeLookup.get(n));const y=Qi(Fe=>Fe.defaultEdgeOptions);C=y?{...y,...C}:C;let x=C.type||"default",S=(m==null?void 0:m[x])||wne[x];S===void 0&&(b==null||b("011",Cf.error011(x)),x="default",S=(m==null?void 0:m.default)||wne.default);const L=!!(C.focusable||e&&typeof C.focusable>"u"),k=typeof u<"u"&&(C.reconnectable||t&&typeof C.reconnectable>"u"),N=!!(C.selectable||i&&typeof C.selectable>"u"),D=R.useRef(null),[M,P]=R.useState(!1),[V,O]=R.useState(!1),A=Fs(),{zIndex:z,sourceX:U,sourceY:W,targetX:F,targetY:q,sourcePosition:Q,targetPosition:J}=Qi(R.useCallback(Fe=>{const Ae=Fe.nodeLookup.get(C.source),Ct=Fe.nodeLookup.get(C.target);if(!Ae||!Ct)return{zIndex:C.zIndex,...Cne};const Ut=D2e({id:n,sourceNode:Ae,targetNode:Ct,sourceHandle:C.sourceHandle||null,targetHandle:C.targetHandle||null,connectionMode:Fe.connectionMode,onError:b});return{zIndex:y2e({selected:C.selected,zIndex:C.zIndex,sourceNode:Ae,targetNode:Ct,elevateOnSelect:Fe.elevateEdgesOnSelect,zIndexMode:Fe.zIndexMode}),...Ut||Cne}},[C.source,C.target,C.sourceHandle,C.targetHandle,C.selected,C.zIndex]),As),oe=R.useMemo(()=>C.markerStart?`url('#${OH(C.markerStart,g)}')`:void 0,[C.markerStart,g]),pe=R.useMemo(()=>C.markerEnd?`url('#${OH(C.markerEnd,g)}')`:void 0,[C.markerEnd,g]);if(C.hidden||U===null||W===null||F===null||q===null)return null;const ke=Fe=>{var Be;const{addSelectedEdges:Ae,unselectNodesAndEdges:Ct,multiSelectionActive:Ut}=A.getState();N&&(A.setState({nodesSelectionActive:!1}),C.selected&&Ut?(Ct({nodes:[],edges:[C]}),(Be=D.current)==null||Be.blur()):Ae([n])),s&&s(Fe,C)},$e=r?Fe=>{r(Fe,{...C})}:void 0,Xe=o?Fe=>{o(Fe,{...C})}:void 0,Re=a?Fe=>{a(Fe,{...C})}:void 0,Je=l?Fe=>{l(Fe,{...C})}:void 0,dt=c?Fe=>{c(Fe,{...C})}:void 0,wt=Fe=>{var Ae;if(!v&&Spe.includes(Fe.key)&&N){const{unselectNodesAndEdges:Ct,addSelectedEdges:Ut}=A.getState();Fe.key==="Escape"?((Ae=D.current)==null||Ae.blur(),Ct({edges:[C]})):Ut([n])}};return p.jsx("svg",{style:{zIndex:z},children:p.jsxs("g",{className:Gr(["react-flow__edge",`react-flow__edge-${x}`,C.className,_,{selected:C.selected,animated:C.animated,inactive:!N&&!s,updating:M,selectable:N}]),onClick:ke,onDoubleClick:$e,onContextMenu:Xe,onMouseEnter:Re,onMouseMove:Je,onMouseLeave:dt,onKeyDown:L?wt:void 0,tabIndex:L?0:void 0,role:C.ariaRole??(L?"group":"img"),"aria-roledescription":"edge","data-id":n,"data-testid":`rf__edge-${n}`,"aria-label":C.ariaLabel===null?void 0:C.ariaLabel||`Edge from ${C.source} to ${C.target}`,"aria-describedby":L?`${ome}-${g}`:void 0,ref:D,...C.domAttributes,children:[!V&&p.jsx(S,{id:n,source:C.source,target:C.target,type:C.type,selected:C.selected,animated:C.animated,selectable:N,deletable:C.deletable??!0,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,sourceX:U,sourceY:W,targetX:F,targetY:q,sourcePosition:Q,targetPosition:J,data:C.data,style:C.style,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerStart:oe,markerEnd:pe,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth}),k&&p.jsx(ZMe,{edge:C,isReconnectable:k,reconnectRadius:d,onReconnect:u,onReconnectStart:h,onReconnectEnd:f,sourceX:U,sourceY:W,targetX:F,targetY:q,sourcePosition:Q,targetPosition:J,setUpdateHover:P,setReconnecting:O})]})})}var JMe=R.memo(QMe);const eAe=n=>({edgesFocusable:n.edgesFocusable,edgesReconnectable:n.edgesReconnectable,elementsSelectable:n.elementsSelectable,connectionMode:n.connectionMode,onError:n.onError});function Rme({defaultMarkerColor:n,onlyRenderVisibleElements:e,rfId:t,edgeTypes:i,noPanClassName:s,onReconnect:r,onEdgeContextMenu:o,onEdgeMouseEnter:a,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:d,reconnectRadius:u,onEdgeDoubleClick:h,onReconnectStart:f,onReconnectEnd:g,disableKeyboardA11y:m}){const{edgesFocusable:_,edgesReconnectable:b,elementsSelectable:v,onError:C}=Qi(eAe,As),y=BMe(e);return p.jsxs("div",{className:"react-flow__edges",children:[p.jsx(zMe,{defaultColor:n,rfId:t}),y.map(x=>p.jsx(JMe,{id:x,edgesFocusable:_,edgesReconnectable:b,elementsSelectable:v,noPanClassName:s,onReconnect:r,onContextMenu:o,onMouseEnter:a,onMouseMove:l,onMouseLeave:c,onClick:d,reconnectRadius:u,onDoubleClick:h,onReconnectStart:f,onReconnectEnd:g,rfId:t,onError:C,edgeTypes:i,disableKeyboardA11y:m},x))]})}Rme.displayName="EdgeRenderer";const tAe=R.memo(Rme),iAe=n=>`translate(${n.transform[0]}px,${n.transform[1]}px) scale(${n.transform[2]})`;function nAe({children:n}){const e=Qi(iAe);return p.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:n})}function sAe(n){const e=yX(),t=R.useRef(!1);R.useEffect(()=>{!t.current&&e.viewportInitialized&&n&&(setTimeout(()=>n(e),1),t.current=!0)},[n,e.viewportInitialized])}const rAe=n=>{var e;return(e=n.panZoom)==null?void 0:e.syncViewport};function oAe(n){const e=Qi(rAe),t=Fs();return R.useEffect(()=>{n&&(e==null||e(n),t.setState({transform:[n.x,n.y,n.zoom]}))},[n,e]),null}function aAe(n){return n.connection.inProgress?{...n.connection,to:_T(n.connection.to,n.transform)}:{...n.connection}}function lAe(n){return aAe}function cAe(n){const e=lAe();return Qi(e,As)}const dAe=n=>({nodesConnectable:n.nodesConnectable,isValid:n.connection.isValid,inProgress:n.connection.inProgress,width:n.width,height:n.height});function uAe({containerStyle:n,style:e,type:t,component:i}){const{nodesConnectable:s,width:r,height:o,isValid:a,inProgress:l}=Qi(dAe,As);return!(r&&s&&l)?null:p.jsx("svg",{style:n,width:r,height:o,className:"react-flow__connectionline react-flow__container",children:p.jsx("g",{className:Gr(["react-flow__connection",Npe(a)]),children:p.jsx(Mme,{style:e,type:t,CustomComponent:i,isValid:a})})})}const Mme=({style:n,type:e=Mg.Bezier,CustomComponent:t,isValid:i})=>{const{inProgress:s,from:r,fromNode:o,fromHandle:a,fromPosition:l,to:c,toNode:d,toHandle:u,toPosition:h,pointer:f}=cAe();if(!s)return;if(t)return p.jsx(t,{connectionLineType:e,connectionLineStyle:n,fromNode:o,fromHandle:a,fromX:r.x,fromY:r.y,toX:c.x,toY:c.y,fromPosition:l,toPosition:h,connectionStatus:Npe(i),toNode:d,toHandle:u,pointer:f});let g="";const m={sourceX:r.x,sourceY:r.y,sourcePosition:l,targetX:c.x,targetY:c.y,targetPosition:h};switch(e){case Mg.Bezier:[g]=Wpe(m);break;case Mg.SimpleBezier:[g]=wme(m);break;case Mg.Step:[g]=PH({...m,borderRadius:0});break;case Mg.SmoothStep:[g]=PH(m);break;default:[g]=Vpe(m)}return p.jsx("path",{d:g,fill:"none",className:"react-flow__connection-path",style:n})};Mme.displayName="ConnectionLine";const hAe={};function Sne(n=hAe){R.useRef(n),Fs(),R.useEffect(()=>{},[n])}function fAe(){Fs(),R.useRef(!1),R.useEffect(()=>{},[])}function Ame({nodeTypes:n,edgeTypes:e,onInit:t,onNodeClick:i,onEdgeClick:s,onNodeDoubleClick:r,onEdgeDoubleClick:o,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:c,onNodeContextMenu:d,onSelectionContextMenu:u,onSelectionStart:h,onSelectionEnd:f,connectionLineType:g,connectionLineStyle:m,connectionLineComponent:_,connectionLineContainerStyle:b,selectionKeyCode:v,selectionOnDrag:C,selectionMode:y,multiSelectionKeyCode:x,panActivationKeyCode:S,zoomActivationKeyCode:L,deleteKeyCode:k,onlyRenderVisibleElements:N,elementsSelectable:D,defaultViewport:M,translateExtent:P,minZoom:V,maxZoom:O,preventScrolling:A,defaultMarkerColor:z,zoomOnScroll:U,zoomOnPinch:W,panOnScroll:F,panOnScrollSpeed:q,panOnScrollMode:Q,zoomOnDoubleClick:J,panOnDrag:oe,onPaneClick:pe,onPaneMouseEnter:ke,onPaneMouseMove:$e,onPaneMouseLeave:Xe,onPaneScroll:Re,onPaneContextMenu:Je,paneClickDistance:dt,nodeClickDistance:wt,onEdgeContextMenu:Fe,onEdgeMouseEnter:Ae,onEdgeMouseMove:Ct,onEdgeMouseLeave:Ut,reconnectRadius:Be,onReconnect:di,onReconnectStart:xi,onReconnectEnd:yn,noDragClassName:Ye,noWheelClassName:Xt,noPanClassName:ei,disableKeyboardA11y:dn,nodeExtent:aa,rfId:fr,viewport:Yn,onViewportChange:Xn}){return Sne(n),Sne(e),fAe(),sAe(t),oAe(Yn),p.jsx(EMe,{onPaneClick:pe,onPaneMouseEnter:ke,onPaneMouseMove:$e,onPaneMouseLeave:Xe,onPaneContextMenu:Je,onPaneScroll:Re,paneClickDistance:dt,deleteKeyCode:k,selectionKeyCode:v,selectionOnDrag:C,selectionMode:y,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:x,panActivationKeyCode:S,zoomActivationKeyCode:L,elementsSelectable:D,zoomOnScroll:U,zoomOnPinch:W,zoomOnDoubleClick:J,panOnScroll:F,panOnScrollSpeed:q,panOnScrollMode:Q,panOnDrag:oe,defaultViewport:M,translateExtent:P,minZoom:V,maxZoom:O,onSelectionContextMenu:u,preventScrolling:A,noDragClassName:Ye,noWheelClassName:Xt,noPanClassName:ei,disableKeyboardA11y:dn,onViewportChange:Xn,isControlledViewport:!!Yn,children:p.jsxs(nAe,{children:[p.jsx(tAe,{edgeTypes:e,onEdgeClick:s,onEdgeDoubleClick:o,onReconnect:di,onReconnectStart:xi,onReconnectEnd:yn,onlyRenderVisibleElements:N,onEdgeContextMenu:Fe,onEdgeMouseEnter:Ae,onEdgeMouseMove:Ct,onEdgeMouseLeave:Ut,reconnectRadius:Be,defaultMarkerColor:z,noPanClassName:ei,disableKeyboardA11y:dn,rfId:fr}),p.jsx(uAe,{style:m,type:g,component:_,containerStyle:b}),p.jsx("div",{className:"react-flow__edgelabel-renderer"}),p.jsx(FMe,{nodeTypes:n,onNodeClick:i,onNodeDoubleClick:r,onNodeMouseEnter:a,onNodeMouseMove:l,onNodeMouseLeave:c,onNodeContextMenu:d,nodeClickDistance:wt,onlyRenderVisibleElements:N,noPanClassName:ei,noDragClassName:Ye,disableKeyboardA11y:dn,nodeExtent:aa,rfId:fr}),p.jsx("div",{className:"react-flow__viewport-portal"})]})})}Ame.displayName="GraphView";const gAe=R.memo(Ame),Lne=({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,width:s,height:r,fitView:o,fitViewOptions:a,minZoom:l=.5,maxZoom:c=2,nodeOrigin:d,nodeExtent:u,zIndexMode:h="basic"}={})=>{const f=new Map,g=new Map,m=new Map,_=new Map,b=i??e??[],v=t??n??[],C=d??[0,0],y=u??aI;$pe(m,_,b);const{nodesInitialized:x}=FH(v,f,g,{nodeOrigin:C,nodeExtent:y,zIndexMode:h});let S=[0,0,1];if(o&&s&&r){const L=pT(f,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:k,y:N,zoom:D}=pX(L,s,r,l,c,(a==null?void 0:a.padding)??.1);S=[k,N,D]}return{rfId:"1",width:s??0,height:r??0,transform:S,nodes:v,nodesInitialized:x,nodeLookup:f,parentLookup:g,edges:b,edgeLookup:_,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:t!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:l,maxZoom:c,translateExtent:aI,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:dS.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:a,fitViewResolver:null,connection:{...kpe},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:m2e,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Lpe,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},pAe=({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,width:s,height:r,fitView:o,fitViewOptions:a,minZoom:l,maxZoom:c,nodeOrigin:d,nodeExtent:u,zIndexMode:h})=>ARe((f,g)=>{async function m(){const{nodeLookup:_,panZoom:b,fitViewOptions:v,fitViewResolver:C,width:y,height:x,minZoom:S,maxZoom:L}=g();b&&(await g2e({nodes:_,width:y,height:x,panZoom:b,minZoom:S,maxZoom:L},v),C==null||C.resolve(!0),f({fitViewResolver:null}))}return{...Lne({nodes:n,edges:e,width:s,height:r,fitView:o,fitViewOptions:a,minZoom:l,maxZoom:c,nodeOrigin:d,nodeExtent:u,defaultNodes:t,defaultEdges:i,zIndexMode:h}),setNodes:_=>{const{nodeLookup:b,parentLookup:v,nodeOrigin:C,elevateNodesOnSelect:y,fitViewQueued:x,zIndexMode:S,nodesSelectionActive:L}=g(),{nodesInitialized:k,hasSelectedNodes:N}=FH(_,b,v,{nodeOrigin:C,nodeExtent:u,elevateNodesOnSelect:y,checkEquality:!0,zIndexMode:S}),D=L&&N;x&&k?(m(),f({nodes:_,nodesInitialized:k,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:D})):f({nodes:_,nodesInitialized:k,nodesSelectionActive:D})},setEdges:_=>{const{connectionLookup:b,edgeLookup:v}=g();$pe(b,v,_),f({edges:_})},setDefaultNodesAndEdges:(_,b)=>{if(_){const{setNodes:v}=g();v(_),f({hasDefaultNodes:!0})}if(b){const{setEdges:v}=g();v(b),f({hasDefaultEdges:!0})}},updateNodeInternals:_=>{const{triggerNodeChanges:b,nodeLookup:v,parentLookup:C,domNode:y,nodeOrigin:x,nodeExtent:S,debug:L,fitViewQueued:k,zIndexMode:N}=g(),{changes:D,updatedInternals:M}=B2e(_,v,C,y,x,S,N);M&&(A2e(v,C,{nodeOrigin:x,nodeExtent:S,zIndexMode:N}),k?(m(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(D==null?void 0:D.length)>0&&(L&&console.log("React Flow: trigger node changes",D),b==null||b(D)))},updateNodePositions:(_,b=!1)=>{const v=[];let C=[];const{nodeLookup:y,triggerNodeChanges:x,connection:S,updateConnection:L,onNodesChangeMiddlewareMap:k}=g();for(const[N,D]of _){const M=y.get(N),P=!!(M!=null&&M.expandParent&&(M!=null&&M.parentId)&&(D!=null&&D.position)),V={id:N,type:"position",position:P?{x:Math.max(0,D.position.x),y:Math.max(0,D.position.y)}:D.position,dragging:b};if(M&&S.inProgress&&S.fromNode.id===M.id){const O=Qw(M,S.fromHandle,Wt.Left,!0);L({...S,from:O})}P&&M.parentId&&v.push({id:N,parentId:M.parentId,rect:{...D.internals.positionAbsolute,width:D.measured.width??0,height:D.measured.height??0}}),C.push(V)}if(v.length>0){const{parentLookup:N,nodeOrigin:D}=g(),M=CX(v,y,N,D);C.push(...M)}for(const N of k.values())C=N(C);x(C)},triggerNodeChanges:_=>{const{onNodesChange:b,setNodes:v,nodes:C,hasDefaultNodes:y,debug:x}=g();if(_!=null&&_.length){if(y){const S=cme(_,C);v(S)}x&&console.log("React Flow: trigger node changes",_),b==null||b(_)}},triggerEdgeChanges:_=>{const{onEdgesChange:b,setEdges:v,edges:C,hasDefaultEdges:y,debug:x}=g();if(_!=null&&_.length){if(y){const S=dme(_,C);v(S)}x&&console.log("React Flow: trigger edge changes",_),b==null||b(_)}},addSelectedNodes:_=>{const{multiSelectionActive:b,edgeLookup:v,nodeLookup:C,triggerNodeChanges:y,triggerEdgeChanges:x}=g();if(b){const S=_.map(L=>uv(L,!0));y(S);return}y(fy(C,new Set([..._]),!0)),x(fy(v))},addSelectedEdges:_=>{const{multiSelectionActive:b,edgeLookup:v,nodeLookup:C,triggerNodeChanges:y,triggerEdgeChanges:x}=g();if(b){const S=_.map(L=>uv(L,!0));x(S);return}x(fy(v,new Set([..._]))),y(fy(C,new Set,!0))},unselectNodesAndEdges:({nodes:_,edges:b}={})=>{const{edges:v,nodes:C,nodeLookup:y,triggerNodeChanges:x,triggerEdgeChanges:S}=g(),L=_||C,k=b||v,N=[];for(const M of L){if(!M.selected)continue;const P=y.get(M.id);P&&(P.selected=!1),N.push(uv(M.id,!1))}const D=[];for(const M of k)M.selected&&D.push(uv(M.id,!1));x(N),S(D)},setMinZoom:_=>{const{panZoom:b,maxZoom:v}=g();b==null||b.setScaleExtent([_,v]),f({minZoom:_})},setMaxZoom:_=>{const{panZoom:b,minZoom:v}=g();b==null||b.setScaleExtent([v,_]),f({maxZoom:_})},setTranslateExtent:_=>{var b;(b=g().panZoom)==null||b.setTranslateExtent(_),f({translateExtent:_})},resetSelectedElements:()=>{const{edges:_,nodes:b,triggerNodeChanges:v,triggerEdgeChanges:C,elementsSelectable:y}=g();if(!y)return;const x=b.reduce((L,k)=>k.selected?[...L,uv(k.id,!1)]:L,[]),S=_.reduce((L,k)=>k.selected?[...L,uv(k.id,!1)]:L,[]);v(x),C(S)},setNodeExtent:_=>{const{nodes:b,nodeLookup:v,parentLookup:C,nodeOrigin:y,elevateNodesOnSelect:x,nodeExtent:S,zIndexMode:L}=g();_[0][0]===S[0][0]&&_[0][1]===S[0][1]&&_[1][0]===S[1][0]&&_[1][1]===S[1][1]||(FH(b,v,C,{nodeOrigin:y,nodeExtent:_,elevateNodesOnSelect:x,checkEquality:!1,zIndexMode:L}),f({nodeExtent:_}))},panBy:_=>{const{transform:b,width:v,height:C,panZoom:y,translateExtent:x}=g();return W2e({delta:_,panZoom:y,transform:b,translateExtent:x,width:v,height:C})},setCenter:async(_,b,v)=>{const{width:C,height:y,maxZoom:x,panZoom:S}=g();if(!S)return Promise.resolve(!1);const L=typeof(v==null?void 0:v.zoom)<"u"?v.zoom:x;return await S.setViewport({x:C/2-_*L,y:y/2-b*L,zoom:L},{duration:v==null?void 0:v.duration,ease:v==null?void 0:v.ease,interpolate:v==null?void 0:v.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{f({connection:{...kpe}})},updateConnection:_=>{f({connection:_})},reset:()=>f({...Lne()})}},Object.is);function mAe({initialNodes:n,initialEdges:e,defaultNodes:t,defaultEdges:i,initialWidth:s,initialHeight:r,initialMinZoom:o,initialMaxZoom:a,initialFitViewOptions:l,fitView:c,nodeOrigin:d,nodeExtent:u,zIndexMode:h,children:f}){const[g]=R.useState(()=>pAe({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,width:s,height:r,fitView:c,minZoom:o,maxZoom:a,fitViewOptions:l,nodeOrigin:d,nodeExtent:u,zIndexMode:h}));return p.jsx(PRe,{value:g,children:p.jsx(nMe,{children:f})})}function _Ae({children:n,nodes:e,edges:t,defaultNodes:i,defaultEdges:s,width:r,height:o,fitView:a,fitViewOptions:l,minZoom:c,maxZoom:d,nodeOrigin:u,nodeExtent:h,zIndexMode:f}){return R.useContext(o8)?p.jsx(p.Fragment,{children:n}):p.jsx(mAe,{initialNodes:e,initialEdges:t,defaultNodes:i,defaultEdges:s,initialWidth:r,initialHeight:o,fitView:a,initialFitViewOptions:l,initialMinZoom:c,initialMaxZoom:d,nodeOrigin:u,nodeExtent:h,zIndexMode:f,children:n})}const bAe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function vAe({nodes:n,edges:e,defaultNodes:t,defaultEdges:i,className:s,nodeTypes:r,edgeTypes:o,onNodeClick:a,onEdgeClick:l,onInit:c,onMove:d,onMoveStart:u,onMoveEnd:h,onConnect:f,onConnectStart:g,onConnectEnd:m,onClickConnectStart:_,onClickConnectEnd:b,onNodeMouseEnter:v,onNodeMouseMove:C,onNodeMouseLeave:y,onNodeContextMenu:x,onNodeDoubleClick:S,onNodeDragStart:L,onNodeDrag:k,onNodeDragStop:N,onNodesDelete:D,onEdgesDelete:M,onDelete:P,onSelectionChange:V,onSelectionDragStart:O,onSelectionDrag:A,onSelectionDragStop:z,onSelectionContextMenu:U,onSelectionStart:W,onSelectionEnd:F,onBeforeDelete:q,connectionMode:Q,connectionLineType:J=Mg.Bezier,connectionLineStyle:oe,connectionLineComponent:pe,connectionLineContainerStyle:ke,deleteKeyCode:$e="Backspace",selectionKeyCode:Xe="Shift",selectionOnDrag:Re=!1,selectionMode:Je=lI.Full,panActivationKeyCode:dt="Space",multiSelectionKeyCode:wt=dI()?"Meta":"Control",zoomActivationKeyCode:Fe=dI()?"Meta":"Control",snapToGrid:Ae,snapGrid:Ct,onlyRenderVisibleElements:Ut=!1,selectNodesOnDrag:Be,nodesDraggable:di,autoPanOnNodeFocus:xi,nodesConnectable:yn,nodesFocusable:Ye,nodeOrigin:Xt=ame,edgesFocusable:ei,edgesReconnectable:dn,elementsSelectable:aa=!0,defaultViewport:fr=GRe,minZoom:Yn=.5,maxZoom:Xn=2,translateExtent:Fa=aI,preventScrolling:po=!0,nodeExtent:la,defaultMarkerColor:cc="#b1b1b7",zoomOnScroll:en=!0,zoomOnPinch:kr=!0,panOnScroll:un=!1,panOnScrollSpeed:gs=.5,panOnScrollMode:Po=N1.Free,zoomOnDoubleClick:Ba=!0,panOnDrag:jf=!0,onPaneClick:Bs,onPaneMouseEnter:Nr,onPaneMouseMove:Ws,onPaneMouseLeave:Si,onPaneScroll:Wa,onPaneContextMenu:Ti,paneClickDistance:hn=1,nodeClickDistance:si=0,children:Qd,onReconnect:Ha,onReconnectStart:X,onReconnectEnd:Cl,onEdgeContextMenu:Jd,onEdgeDoubleClick:Ai,onEdgeMouseEnter:ps,onEdgeMouseMove:nt,onEdgeMouseLeave:lh,reconnectRadius:pi=10,onNodesChange:qt,onEdgesChange:tr,noDragClassName:Er="nodrag",noWheelClassName:Va="nowheel",noPanClassName:Oo="nopan",fitView:dc,fitViewOptions:ys,connectOnClick:ch,attributionPosition:xt,proOptions:le,defaultEdgeOptions:Te,elevateNodesOnSelect:bt=!0,elevateEdgesOnSelect:Ri=!1,disableKeyboardA11y:fn=!1,autoPanOnConnect:tn,autoPanOnNodeDrag:Zn,autoPanSpeed:ir,connectionRadius:Ir,isValidConnection:Dr,onError:Ki,style:Fo,id:uc,nodeDragThreshold:dh,connectionDragThreshold:hc,viewport:ja,onViewportChange:fc,width:rm,height:zf,colorMode:uh="light",debug:hh,onScroll:Hs,ariaLabelConfig:om,zIndexMode:ca="basic",...fh},da){const gh=uc||"1",$f=QRe(uh),am=R.useCallback(ph=>{ph.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Hs==null||Hs(ph)},[Hs]);return p.jsx("div",{"data-testid":"rf__wrapper",...fh,onScroll:am,style:{...Fo,...bAe},ref:da,className:Gr(["react-flow",s,$f]),id:uc,role:"application",children:p.jsxs(_Ae,{nodes:n,edges:e,width:rm,height:zf,fitView:dc,fitViewOptions:ys,minZoom:Yn,maxZoom:Xn,nodeOrigin:Xt,nodeExtent:la,zIndexMode:ca,children:[p.jsx(ZRe,{nodes:n,edges:e,defaultNodes:t,defaultEdges:i,onConnect:f,onConnectStart:g,onConnectEnd:m,onClickConnectStart:_,onClickConnectEnd:b,nodesDraggable:di,autoPanOnNodeFocus:xi,nodesConnectable:yn,nodesFocusable:Ye,edgesFocusable:ei,edgesReconnectable:dn,elementsSelectable:aa,elevateNodesOnSelect:bt,elevateEdgesOnSelect:Ri,minZoom:Yn,maxZoom:Xn,nodeExtent:la,onNodesChange:qt,onEdgesChange:tr,snapToGrid:Ae,snapGrid:Ct,connectionMode:Q,translateExtent:Fa,connectOnClick:ch,defaultEdgeOptions:Te,fitView:dc,fitViewOptions:ys,onNodesDelete:D,onEdgesDelete:M,onDelete:P,onNodeDragStart:L,onNodeDrag:k,onNodeDragStop:N,onSelectionDrag:A,onSelectionDragStart:O,onSelectionDragStop:z,onMove:d,onMoveStart:u,onMoveEnd:h,noPanClassName:Oo,nodeOrigin:Xt,rfId:gh,autoPanOnConnect:tn,autoPanOnNodeDrag:Zn,autoPanSpeed:ir,onError:Ki,connectionRadius:Ir,isValidConnection:Dr,selectNodesOnDrag:Be,nodeDragThreshold:dh,connectionDragThreshold:hc,onBeforeDelete:q,debug:hh,ariaLabelConfig:om,zIndexMode:ca}),p.jsx(gAe,{onInit:c,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:v,onNodeMouseMove:C,onNodeMouseLeave:y,onNodeContextMenu:x,onNodeDoubleClick:S,nodeTypes:r,edgeTypes:o,connectionLineType:J,connectionLineStyle:oe,connectionLineComponent:pe,connectionLineContainerStyle:ke,selectionKeyCode:Xe,selectionOnDrag:Re,selectionMode:Je,deleteKeyCode:$e,multiSelectionKeyCode:wt,panActivationKeyCode:dt,zoomActivationKeyCode:Fe,onlyRenderVisibleElements:Ut,defaultViewport:fr,translateExtent:Fa,minZoom:Yn,maxZoom:Xn,preventScrolling:po,zoomOnScroll:en,zoomOnPinch:kr,zoomOnDoubleClick:Ba,panOnScroll:un,panOnScrollSpeed:gs,panOnScrollMode:Po,panOnDrag:jf,onPaneClick:Bs,onPaneMouseEnter:Nr,onPaneMouseMove:Ws,onPaneMouseLeave:Si,onPaneScroll:Wa,onPaneContextMenu:Ti,paneClickDistance:hn,nodeClickDistance:si,onSelectionContextMenu:U,onSelectionStart:W,onSelectionEnd:F,onReconnect:Ha,onReconnectStart:X,onReconnectEnd:Cl,onEdgeContextMenu:Jd,onEdgeDoubleClick:Ai,onEdgeMouseEnter:ps,onEdgeMouseMove:nt,onEdgeMouseLeave:lh,reconnectRadius:pi,defaultMarkerColor:cc,noDragClassName:Er,noWheelClassName:Va,noPanClassName:Oo,rfId:gh,disableKeyboardA11y:fn,nodeExtent:la,viewport:ja,onViewportChange:fc}),p.jsx(KRe,{onSelectionChange:V}),Qd,p.jsx(jRe,{proOptions:le,position:xt}),p.jsx(VRe,{rfId:gh,disableKeyboardA11y:fn})]})})}var wAe=ume(vAe);function CAe({dimensions:n,lineWidth:e,variant:t,className:i}){return p.jsx("path",{strokeWidth:e,d:`M${n[0]/2} 0 V${n[1]} M0 ${n[1]/2} H${n[0]}`,className:Gr(["react-flow__background-pattern",t,i])})}function yAe({radius:n,className:e}){return p.jsx("circle",{cx:n,cy:n,r:n,className:Gr(["react-flow__background-pattern","dots",e])})}var lp;(function(n){n.Lines="lines",n.Dots="dots",n.Cross="cross"})(lp||(lp={}));const xAe={[lp.Dots]:1,[lp.Lines]:1,[lp.Cross]:6},SAe=n=>({transform:n.transform,patternId:`pattern-${n.rfId}`});function Pme({id:n,variant:e=lp.Dots,gap:t=20,size:i,lineWidth:s=1,offset:r=0,color:o,bgColor:a,style:l,className:c,patternClassName:d}){const u=R.useRef(null),{transform:h,patternId:f}=Qi(SAe,As),g=i||xAe[e],m=e===lp.Dots,_=e===lp.Cross,b=Array.isArray(t)?t:[t,t],v=[b[0]*h[2]||1,b[1]*h[2]||1],C=g*h[2],y=Array.isArray(r)?r:[r,r],x=_?[C,C]:v,S=[y[0]*h[2]||1+x[0]/2,y[1]*h[2]||1+x[1]/2],L=`${f}${n||""}`;return p.jsxs("svg",{className:Gr(["react-flow__background",c]),style:{...l,...l8,"--xy-background-color-props":a,"--xy-background-pattern-color-props":o},ref:u,"data-testid":"rf__background",children:[p.jsx("pattern",{id:L,x:h[0]%v[0],y:h[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`,children:m?p.jsx(yAe,{radius:C/2,className:d}):p.jsx(CAe,{dimensions:x,lineWidth:s,variant:e,className:d})}),p.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${L})`})]})}Pme.displayName="Background";const LAe=R.memo(Pme);function kAe(){return p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:p.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function NAe(){return p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:p.jsx("path",{d:"M0 0h32v4.2H0z"})})}function EAe(){return p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:p.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function IAe(){return p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:p.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function DAe(){return p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:p.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function z2({children:n,className:e,...t}){return p.jsx("button",{type:"button",className:Gr(["react-flow__controls-button",e]),...t,children:n})}const TAe=n=>({isInteractive:n.nodesDraggable||n.nodesConnectable||n.elementsSelectable,minZoomReached:n.transform[2]<=n.minZoom,maxZoomReached:n.transform[2]>=n.maxZoom,ariaLabelConfig:n.ariaLabelConfig});function Ome({style:n,showZoom:e=!0,showFitView:t=!0,showInteractive:i=!0,fitViewOptions:s,onZoomIn:r,onZoomOut:o,onFitView:a,onInteractiveChange:l,className:c,children:d,position:u="bottom-left",orientation:h="vertical","aria-label":f}){const g=Fs(),{isInteractive:m,minZoomReached:_,maxZoomReached:b,ariaLabelConfig:v}=Qi(TAe,As),{zoomIn:C,zoomOut:y,fitView:x}=yX(),S=()=>{C(),r==null||r()},L=()=>{y(),o==null||o()},k=()=>{x(s),a==null||a()},N=()=>{g.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),l==null||l(!m)},D=h==="horizontal"?"horizontal":"vertical";return p.jsxs(a8,{className:Gr(["react-flow__controls",D,c]),position:u,style:n,"data-testid":"rf__controls","aria-label":f??v["controls.ariaLabel"],children:[e&&p.jsxs(p.Fragment,{children:[p.jsx(z2,{onClick:S,className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:b,children:p.jsx(kAe,{})}),p.jsx(z2,{onClick:L,className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:_,children:p.jsx(NAe,{})})]}),t&&p.jsx(z2,{className:"react-flow__controls-fitview",onClick:k,title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:p.jsx(EAe,{})}),i&&p.jsx(z2,{className:"react-flow__controls-interactive",onClick:N,title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:m?p.jsx(DAe,{}):p.jsx(IAe,{})}),d]})}Ome.displayName="Controls";const RAe=R.memo(Ome);function MAe({id:n,x:e,y:t,width:i,height:s,style:r,color:o,strokeColor:a,strokeWidth:l,className:c,borderRadius:d,shapeRendering:u,selected:h,onClick:f}){const{background:g,backgroundColor:m}=r||{},_=o||g||m;return p.jsx("rect",{className:Gr(["react-flow__minimap-node",{selected:h},c]),x:e,y:t,rx:d,ry:d,width:i,height:s,style:{fill:_,stroke:a,strokeWidth:l},shapeRendering:u,onClick:f?b=>f(b,n):void 0})}const AAe=R.memo(MAe),PAe=n=>n.nodes.map(e=>e.id),U6=n=>n instanceof Function?n:()=>n;function OAe({nodeStrokeColor:n,nodeColor:e,nodeClassName:t="",nodeBorderRadius:i=5,nodeStrokeWidth:s,nodeComponent:r=AAe,onClick:o}){const a=Qi(PAe,As),l=U6(e),c=U6(n),d=U6(t),u=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return p.jsx(p.Fragment,{children:a.map(h=>p.jsx(BAe,{id:h,nodeColorFunc:l,nodeStrokeColorFunc:c,nodeClassNameFunc:d,nodeBorderRadius:i,nodeStrokeWidth:s,NodeComponent:r,onClick:o,shapeRendering:u},h))})}function FAe({id:n,nodeColorFunc:e,nodeStrokeColorFunc:t,nodeClassNameFunc:i,nodeBorderRadius:s,nodeStrokeWidth:r,shapeRendering:o,NodeComponent:a,onClick:l}){const{node:c,x:d,y:u,width:h,height:f}=Qi(g=>{const m=g.nodeLookup.get(n);if(!m)return{node:void 0,x:0,y:0,width:0,height:0};const _=m.internals.userNode,{x:b,y:v}=m.internals.positionAbsolute,{width:C,height:y}=Yp(_);return{node:_,x:b,y:v,width:C,height:y}},As);return!c||c.hidden||!Mpe(c)?null:p.jsx(a,{x:d,y:u,width:h,height:f,style:c.style,selected:!!c.selected,className:i(c),color:e(c),borderRadius:s,strokeColor:t(c),strokeWidth:r,shapeRendering:o,onClick:l,id:c.id})}const BAe=R.memo(FAe);var WAe=R.memo(OAe);const HAe=200,VAe=150,jAe=n=>!n.hidden,zAe=n=>{const e={x:-n.transform[0]/n.transform[2],y:-n.transform[1]/n.transform[2],width:n.width/n.transform[2],height:n.height/n.transform[2]};return{viewBB:e,boundingRect:n.nodeLookup.size>0?Rpe(pT(n.nodeLookup,{filter:jAe}),e):e,rfId:n.rfId,panZoom:n.panZoom,translateExtent:n.translateExtent,flowWidth:n.width,flowHeight:n.height,ariaLabelConfig:n.ariaLabelConfig}},$Ae="react-flow__minimap-desc";function Fme({style:n,className:e,nodeStrokeColor:t,nodeColor:i,nodeClassName:s="",nodeBorderRadius:r=5,nodeStrokeWidth:o,nodeComponent:a,bgColor:l,maskColor:c,maskStrokeColor:d,maskStrokeWidth:u,position:h="bottom-right",onClick:f,onNodeClick:g,pannable:m=!1,zoomable:_=!1,ariaLabel:b,inversePan:v,zoomStep:C=1,offsetScale:y=5}){const x=Fs(),S=R.useRef(null),{boundingRect:L,viewBB:k,rfId:N,panZoom:D,translateExtent:M,flowWidth:P,flowHeight:V,ariaLabelConfig:O}=Qi(zAe,As),A=(n==null?void 0:n.width)??HAe,z=(n==null?void 0:n.height)??VAe,U=L.width/A,W=L.height/z,F=Math.max(U,W),q=F*A,Q=F*z,J=y*F,oe=L.x-(q-L.width)/2-J,pe=L.y-(Q-L.height)/2-J,ke=q+J*2,$e=Q+J*2,Xe=`${$Ae}-${N}`,Re=R.useRef(0),Je=R.useRef();Re.current=F,R.useEffect(()=>{if(S.current&&D)return Je.current=G2e({domNode:S.current,panZoom:D,getTransform:()=>x.getState().transform,getViewScale:()=>Re.current}),()=>{var Ae;(Ae=Je.current)==null||Ae.destroy()}},[D]),R.useEffect(()=>{var Ae;(Ae=Je.current)==null||Ae.update({translateExtent:M,width:P,height:V,inversePan:v,pannable:m,zoomStep:C,zoomable:_})},[m,_,v,C,M,P,V]);const dt=f?Ae=>{var Be;const[Ct,Ut]=((Be=Je.current)==null?void 0:Be.pointer(Ae))||[0,0];f(Ae,{x:Ct,y:Ut})}:void 0,wt=g?R.useCallback((Ae,Ct)=>{const Ut=x.getState().nodeLookup.get(Ct).internals.userNode;g(Ae,Ut)},[]):void 0,Fe=b??O["minimap.ariaLabel"];return p.jsx(a8,{position:h,style:{...n,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof u=="number"?u*F:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof t=="string"?t:void 0,"--xy-minimap-node-stroke-width-props":typeof o=="number"?o:void 0},className:Gr(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:p.jsxs("svg",{width:A,height:z,viewBox:`${oe} ${pe} ${ke} ${$e}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Xe,ref:S,onClick:dt,children:[Fe&&p.jsx("title",{id:Xe,children:Fe}),p.jsx(WAe,{onClick:wt,nodeColor:i,nodeStrokeColor:t,nodeBorderRadius:r,nodeClassName:s,nodeStrokeWidth:o,nodeComponent:a}),p.jsx("path",{className:"react-flow__minimap-mask",d:`M${oe-J},${pe-J}h${ke+J*2}v${$e+J*2}h${-ke-J*2}z + M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Fme.displayName="MiniMap";const UAe=R.memo(Fme),qAe=n=>e=>n?`${Math.max(1/e.transform[2],1)}`:void 0,KAe={[gS.Line]:"right",[gS.Handle]:"bottom-right"};function GAe({nodeId:n,position:e,variant:t=gS.Handle,className:i,style:s=void 0,children:r,color:o,minWidth:a=10,minHeight:l=10,maxWidth:c=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:u=!1,resizeDirection:h,autoScale:f=!0,shouldResize:g,onResizeStart:m,onResize:_,onResizeEnd:b}){const v=pme(),C=typeof n=="string"?n:v,y=Fs(),x=R.useRef(null),S=t===gS.Handle,L=Qi(R.useCallback(qAe(S&&f),[S,f]),As),k=R.useRef(null),N=e??KAe[t];R.useEffect(()=>{if(!(!x.current||!C))return k.current||(k.current=lRe({domNode:x.current,nodeId:C,getStoreItems:()=>{const{nodeLookup:M,transform:P,snapGrid:V,snapToGrid:O,nodeOrigin:A,domNode:z}=y.getState();return{nodeLookup:M,transform:P,snapGrid:V,snapToGrid:O,nodeOrigin:A,paneDomNode:z}},onChange:(M,P)=>{const{triggerNodeChanges:V,nodeLookup:O,parentLookup:A,nodeOrigin:z}=y.getState(),U=[],W={x:M.x,y:M.y},F=O.get(C);if(F&&F.expandParent&&F.parentId){const q=F.origin??z,Q=M.width??F.measured.width??0,J=M.height??F.measured.height??0,oe={id:F.id,parentId:F.parentId,rect:{width:Q,height:J,...Ape({x:M.x??F.position.x,y:M.y??F.position.y},{width:Q,height:J},F.parentId,O,q)}},pe=CX([oe],O,A,z);U.push(...pe),W.x=M.x?Math.max(q[0]*Q,M.x):void 0,W.y=M.y?Math.max(q[1]*J,M.y):void 0}if(W.x!==void 0&&W.y!==void 0){const q={id:C,type:"position",position:{...W}};U.push(q)}if(M.width!==void 0&&M.height!==void 0){const Q={id:C,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};U.push(Q)}for(const q of P){const Q={...q,type:"position"};U.push(Q)}V(U)},onEnd:({width:M,height:P})=>{const V={id:C,type:"dimensions",resizing:!1,dimensions:{width:M,height:P}};y.getState().triggerNodeChanges([V])}})),k.current.update({controlPosition:N,boundaries:{minWidth:a,minHeight:l,maxWidth:c,maxHeight:d},keepAspectRatio:u,resizeDirection:h,onResizeStart:m,onResize:_,onResizeEnd:b,shouldResize:g}),()=>{var M;(M=k.current)==null||M.destroy()}},[N,a,l,c,d,u,m,_,b,g]);const D=N.split("-");return p.jsx("div",{className:Gr(["react-flow__resize-control","nodrag",...D,t,i]),ref:x,style:{...s,scale:L,...o&&{[S?"backgroundColor":"borderColor"]:o}},children:r})}R.memo(GAe);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const SAe=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ime=(...n)=>n.filter((e,t,i)=>!!e&&i.indexOf(e)===t).join(" ");/** + */const YAe=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Bme=(...n)=>n.filter((e,t,i)=>!!e&&i.indexOf(e)===t).join(" ");/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var xAe={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + */var XAe={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const LAe=R.forwardRef(({color:n="currentColor",size:e=24,strokeWidth:t=2,absoluteStrokeWidth:i,className:s="",children:o,iconNode:r,...a},l)=>R.createElement("svg",{ref:l,...xAe,width:e,height:e,stroke:n,strokeWidth:i?Number(t)*24/Number(e):t,className:ime("lucide",s),...a},[...r.map(([c,d])=>R.createElement(c,d)),...Array.isArray(o)?o:[o]]));/** + */const ZAe=R.forwardRef(({color:n="currentColor",size:e=24,strokeWidth:t=2,absoluteStrokeWidth:i,className:s="",children:r,iconNode:o,...a},l)=>R.createElement("svg",{ref:l,...XAe,width:e,height:e,stroke:n,strokeWidth:i?Number(t)*24/Number(e):t,className:Bme("lucide",s),...a},[...o.map(([c,d])=>R.createElement(c,d)),...Array.isArray(r)?r:[r]]));/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Zt=(n,e)=>{const t=R.forwardRef(({className:i,...s},o)=>R.createElement(LAe,{ref:o,iconNode:e,className:ime(`lucide-${SAe(n)}`,i),...s}));return t.displayName=`${n}`,t};/** + */const Gt=(n,e)=>{const t=R.forwardRef(({className:i,...s},r)=>R.createElement(ZAe,{ref:r,iconNode:e,className:Bme(`lucide-${YAe(n)}`,i),...s}));return t.displayName=`${n}`,t};/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const kAe=Zt("AlignLeft",[["line",{x1:"21",x2:"3",y1:"6",y2:"6",key:"1fp77t"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}],["line",{x1:"17",x2:"3",y1:"18",y2:"18",key:"1awlsn"}]]);/** + */const QAe=Gt("AlignLeft",[["line",{x1:"21",x2:"3",y1:"6",y2:"6",key:"1fp77t"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}],["line",{x1:"17",x2:"3",y1:"18",y2:"18",key:"1awlsn"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nme=Zt("ArrowRightLeft",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]]);/** + */const Wme=Gt("ArrowRightLeft",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jy=Zt("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + */const dx=Gt("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sme=Zt("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** + */const Hme=Gt("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const NAe=Zt("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** + */const JAe=Gt("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Hh=Zt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const Tu=Gt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Eu=Zt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const Md=Gt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const XA=Zt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + */const wP=Gt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ome=Zt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const Vme=Gt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const gH=Zt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** + */const VH=Gt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rme=Zt("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const jme=Gt("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const QS=Zt("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/** + */const _S=Gt("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const zy=Zt("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + */const E1=Gt("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ame=Zt("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/** + */const zme=Gt("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qie=Zt("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/** + */const kne=Gt("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const EAe=Zt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + */const ePe=Gt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Jie=Zt("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** + */const Nne=Gt("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Zh=Zt("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** + */const lf=Gt("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const pH=Zt("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/** + */const jH=Gt("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const IAe=Zt("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** + */const tPe=Gt("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const DAe=Zt("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + */const iPe=Gt("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const qC=Zt("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** + */const gy=Gt("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ed=Zt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const Pd=Gt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const TAe=Zt("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/** + */const nPe=Gt("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ene=Zt("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** + */const Ene=Gt("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const RAe=Zt("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** + */const sPe=Gt("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tne=Zt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + */const Ine=Gt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const MAe=Zt("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/** + */const rPe=Gt("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lme=Zt("Paperclip",[["path",{d:"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48",key:"1u3ebp"}]]);/** + */const $me=Gt("Paperclip",[["path",{d:"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48",key:"1u3ebp"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ZY=Zt("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + */const SX=Gt("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const KC=Zt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + */const t_=Gt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const AAe=Zt("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** + */const oPe=Gt("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const JS=Zt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + */const bS=Gt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eN=Zt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** + */const yN=Gt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ine=Zt("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** + */const Dne=Gt("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const PAe=Zt("Rows3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);/** + */const aPe=Gt("Rows3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cme=Zt("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/** + */const Ume=Gt("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const QA=Zt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const CP=Gt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const w6=Zt("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/** + */const q6=Gt("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const OAe=Zt("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const lPe=Gt("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $E=Zt("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** + */const cPe=Gt("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const FAe=Zt("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** + */const hI=Gt("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nne=Zt("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/** + */const dPe=Gt("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sne=Zt("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** + */const Tne=Gt("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qg=Zt("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** + */const Rne=Gt("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const BAe=Zt("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** + */const cp=Gt("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mH=Zt("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** + */const uPe=Gt("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const WAe=Zt("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/** + */const zH=Gt("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const one=Zt("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);/** + */const hPe=Gt("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const HAe=Zt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + */const Mne=Gt("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);/** * @license lucide-react v0.400.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Mg=Zt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Id={};var $ue;const A0=(($ue=Id==null?void 0:Id.VITE_NYXID_BASE_URL)==null?void 0:$ue.trim())||"https://nyx.chrono-ai.fun";var Uue;const VAe=((Uue=Id==null?void 0:Id.VITE_NYXID_API_URL)==null?void 0:Uue.trim())||"https://nyx-api.chrono-ai.fun";var que;const XY=((que=Id==null?void 0:Id.VITE_NYXID_CLIENT_ID)==null?void 0:que.trim())||"37a93189-2734-406e-bca1-7dbdf25c5a53";var Kue;const jAe=((Kue=Id==null?void 0:Id.VITE_NYXID_SCOPE)==null?void 0:Kue.trim())||"openid profile email proxy",JA="aevatar-cli:nyxid:session",Ag="aevatar-cli:nyxid:pending",dme=3e4;function ume(n){let e="";for(const t of n)e+=String.fromCharCode(t);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function rne(n=32){const e=new Uint8Array(n);return crypto.getRandomValues(e),ume(e)}async function zAe(n){const e=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(n));return ume(new Uint8Array(e))}function Im(){try{const n=localStorage.getItem(JA);if(!n)return null;const e=JSON.parse(n);return e.tokens.expiresAt-dme>Date.now()||e.tokens.refreshToken?e:(localStorage.removeItem(JA),null)}catch{return null}}function hme(){const n=Im();return n&&n.tokens.expiresAt-dme>Date.now()?n:null}function QY(n){localStorage.setItem(JA,JSON.stringify(n))}function $Ae(){localStorage.removeItem(JA)}function _H(){var n;return(n=hme())==null?void 0:n.tokens.accessToken}function UAe(){return!!window.electronAPI}function qAe(){return`${window.location.origin}/auth/callback`}async function fme(n="/"){const e=rne(48),t=await zAe(e),i=rne(24),s=window.electronAPI,o=s!=null&&s.getAuthRedirectUri?await s.getAuthRedirectUri():qAe(),r={state:i,codeVerifier:e,redirectUri:o,returnTo:n};localStorage.setItem(Ag,JSON.stringify(r));const a=new URL(`${A0}/oauth/authorize`);a.searchParams.set("response_type","code"),a.searchParams.set("client_id",XY),a.searchParams.set("redirect_uri",o),a.searchParams.set("scope",jAe),a.searchParams.set("code_challenge",t),a.searchParams.set("code_challenge_method","S256"),a.searchParams.set("state",i),UAe()?window.open(a.toString()):window.location.assign(a.toString())}async function KAe(){const n=new URL(window.location.href).searchParams,e=n.get("error");if(e)throw new Error(n.get("error_description")??`OAuth error: ${e}`);const t=n.get("code"),i=n.get("state");if(!t||!i)throw new Error("Missing authorization code or state");const s=localStorage.getItem(Ag),o=s?JSON.parse(s):null;if(!o)throw new Error("Missing PKCE state");if(o.state!==i)throw localStorage.removeItem(Ag),new Error("State mismatch");const r=new URLSearchParams;r.set("grant_type","authorization_code"),r.set("code",t),r.set("redirect_uri",o.redirectUri),r.set("client_id",XY),r.set("code_verifier",o.codeVerifier);const a=await fetch(`${A0}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:r.toString()});if(!a.ok){const f=await a.json().catch(()=>null);throw localStorage.removeItem(Ag),new Error(`Token exchange failed: ${(f==null?void 0:f.error_description)||a.statusText}`)}const l=await a.json(),c={accessToken:l.access_token,tokenType:l.token_type,expiresIn:l.expires_in,expiresAt:Date.now()+l.expires_in*1e3,refreshToken:l.refresh_token,idToken:l.id_token,scope:l.scope},d=await fetch(`${A0}/oauth/userinfo`,{headers:{Authorization:`Bearer ${c.accessToken}`}}),u=d.ok?await d.json():{sub:""},h={tokens:c,user:u};return QY(h),localStorage.removeItem(Ag),{session:h,returnTo:o.returnTo||"/"}}async function GAe(n){if(!n.tokens.refreshToken)return null;const e=new URLSearchParams;e.set("grant_type","refresh_token"),e.set("refresh_token",n.tokens.refreshToken);try{const t=await fetch(`${A0}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e.toString()});if(!t.ok)return null;const i=await t.json(),s={accessToken:i.access_token,tokenType:i.token_type,expiresIn:i.expires_in,expiresAt:Date.now()+i.expires_in*1e3,refreshToken:i.refresh_token??n.tokens.refreshToken,idToken:i.id_token??n.tokens.idToken,scope:i.scope??n.tokens.scope};let o=n.user;try{const a=await fetch(`${A0}/oauth/userinfo`,{headers:{Authorization:`Bearer ${s.accessToken}`}});a.ok&&(o=await a.json())}catch{}const r={tokens:s,user:o};return QY(r),r}catch{return null}}function YAe(){return window.location.pathname==="/auth/callback"&&!!new URLSearchParams(window.location.search).get("code")}function ZAe(n,e){const t=window.electronAPI;return t!=null&&t.onAuthCallback?t.onAuthCallback(async i=>{if(i.error){e(new Error(i.errorDescription??`OAuth error: ${i.error}`));return}if(!i.code||!i.state){e(new Error("Missing authorization code or state"));return}const s=localStorage.getItem(Ag),o=s?JSON.parse(s):null;if(!o){e(new Error("Missing PKCE state"));return}if(o.state!==i.state){localStorage.removeItem(Ag),e(new Error("State mismatch"));return}try{const r=new URLSearchParams;r.set("grant_type","authorization_code"),r.set("code",i.code),r.set("redirect_uri",o.redirectUri),r.set("client_id",XY),r.set("code_verifier",o.codeVerifier);const a=await fetch(`${A0}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:r.toString()});if(!a.ok){const f=await a.json().catch(()=>null);localStorage.removeItem(Ag),e(new Error(`Token exchange failed: ${(f==null?void 0:f.error_description)||a.statusText}`));return}const l=await a.json(),c={accessToken:l.access_token,tokenType:l.token_type,expiresIn:l.expires_in,expiresAt:Date.now()+l.expires_in*1e3,refreshToken:l.refresh_token,idToken:l.id_token,scope:l.scope},d=await fetch(`${A0}/oauth/userinfo`,{headers:{Authorization:`Bearer ${c.accessToken}`}}),u=d.ok?await d.json():{sub:""},h={tokens:c,user:u};QY(h),localStorage.removeItem(Ag),n({session:h,returnTo:o.returnTo||"/"})}catch(r){e(r instanceof Error?r:new Error(String(r)))}}):null}const $y="/api",bH="aevatar:auth-required",XAe="chrono_storage_service_unavailable",QAe="chrono-storage-service",JAe="Studio could not access chrono-storage-service. It may not be enabled for this host, the service may be unavailable, or NyxID may be configured to require approval for every proxy request.";function ex(){const n=_H();return n?{Authorization:`Bearer ${n}`}:{}}function gme(n){const e=String(n||"").toLowerCase();return e.includes("application/json")||e.includes("+json")}function vH(n){const e=String(n||"").toLowerCase();return e.includes("text/html")||e.includes("application/xhtml+xml")}function tx(n){typeof window>"u"||window.dispatchEvent(new CustomEvent(bH,{detail:n}))}function pme(n){const e=new Headers(n==null?void 0:n.headers);if(!(typeof FormData<"u"&&(n==null?void 0:n.body)instanceof FormData)&&!e.has("Content-Type")&&e.set("Content-Type","application/json"),!e.has("Authorization")){const i=ex();i.Authorization&&e.set("Authorization",i.Authorization)}return e}async function mme(n){const e=n.headers.get("content-type"),t=gme(e)?await n.json().catch(()=>({})):{message:await n.text().catch(()=>"")};throw(n.status===401||t!=null&&t.loginUrl)&&tx({loginUrl:t==null?void 0:t.loginUrl,message:(t==null?void 0:t.message)||"Sign in to continue."}),{status:n.status,...t}}function ePe(n){if(typeof window>"u")return()=>{};const e=t=>{const i=t.detail||{};n(i)};return window.addEventListener(bH,e),()=>window.removeEventListener(bH,e)}async function wt(n,e){const t=pme(e),i=await fetch(`${$y}${n}`,{...e,headers:t,credentials:"include"}),s=i.headers.get("content-type");if(!i.ok)return mme(i);if(i.status===204)return;const o=i.headers.get("content-length");if(o==="0"||!s&&o==="0")return;if(gme(s))return i.json();if(!s){const a=await i.text();if(!a.trim())return;try{return JSON.parse(a)}catch{}}i.redirected&&tx({loginUrl:i.url,message:"Sign in to continue."});const r=await i.text().catch(()=>"");throw(vH(s)||i.redirected)&&tx({loginUrl:i.redirected?i.url:null,message:"API returned HTML instead of JSON. Sign-in may be required."}),{status:i.redirected?401:i.status,message:vH(s)?"API returned HTML instead of JSON. Sign-in may be required.":"API returned an unexpected response format.",rawBody:r}}async function tPe(n,e){const t=pme(e),i=await fetch(`${$y}${n}`,{...e,headers:t,credentials:"include"}),s=i.headers.get("content-type");if(!i.ok)return mme(i);if(i.redirected||vH(s))throw tx({loginUrl:i.redirected?i.url:null,message:"API returned HTML instead of the requested file. Sign-in may be required."}),{status:i.redirected?401:i.status,message:"API returned HTML instead of the requested file. Sign-in may be required."};return i.text()}function xM(n){return!!((n==null?void 0:n.code)===XAe||(n==null?void 0:n.dependency)===QAe||typeof(n==null?void 0:n.message)=="string"&&n.message.includes("chrono-storage-service"))}function JY(n){return typeof(n==null?void 0:n.message)=="string"&&n.message.trim()?n.message.trim():JAe}async function Jg(n,e,t,i){const s=await fetch(`${$y}${n}`,{method:"POST",headers:{Accept:"text/event-stream","Content-Type":"application/json",...ex()},body:JSON.stringify(e),credentials:"include",signal:i});if(s.redirected&&tx({loginUrl:s.url,message:"Sign in to continue."}),!s.ok){const l=await s.json().catch(()=>({}));throw(s.status===401||l!=null&&l.loginUrl)&&tx({loginUrl:(l==null?void 0:l.loginUrl)||(s.redirected?s.url:null),message:(l==null?void 0:l.message)||"Sign in to continue."}),{status:s.status,...l}}if(!s.body)return;const o=s.body.getReader(),r=new TextDecoder;let a="";for(;;){const{value:l,done:c}=await o.read();a+=r.decode(l||new Uint8Array,{stream:!c});let d=a.indexOf(` + */const fPe=Gt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + * @license lucide-react v0.400.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const $g=Gt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Od={};var khe;const Jw=((khe=Od==null?void 0:Od.VITE_NYXID_BASE_URL)==null?void 0:khe.trim())||"https://nyx.chrono-ai.fun";var Nhe;const gPe=((Nhe=Od==null?void 0:Od.VITE_NYXID_API_URL)==null?void 0:Nhe.trim())||"https://nyx-api.chrono-ai.fun";var Ehe;const LX=((Ehe=Od==null?void 0:Od.VITE_NYXID_CLIENT_ID)==null?void 0:Ehe.trim())||"37a93189-2734-406e-bca1-7dbdf25c5a53";var Ihe;const pPe=((Ihe=Od==null?void 0:Od.VITE_NYXID_SCOPE)==null?void 0:Ihe.trim())||"openid profile email proxy",yP="aevatar-cli:nyxid:session",Ug="aevatar-cli:nyxid:pending",qme=3e4;function Kme(n){let e="";for(const t of n)e+=String.fromCharCode(t);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Ane(n=32){const e=new Uint8Array(n);return crypto.getRandomValues(e),Kme(e)}async function mPe(n){const e=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(n));return Kme(new Uint8Array(e))}function jm(){try{const n=localStorage.getItem(yP);if(!n)return null;const e=JSON.parse(n);return e.tokens.expiresAt-qme>Date.now()||e.tokens.refreshToken?e:(localStorage.removeItem(yP),null)}catch{return null}}function Gme(){const n=jm();return n&&n.tokens.expiresAt-qme>Date.now()?n:null}function kX(n){localStorage.setItem(yP,JSON.stringify(n))}function _Pe(){localStorage.removeItem(yP)}function $H(){var n;return(n=Gme())==null?void 0:n.tokens.accessToken}function bPe(){return!!window.electronAPI}function vPe(){return`${window.location.origin}/auth/callback`}async function Yme(n="/"){const e=Ane(48),t=await mPe(e),i=Ane(24),s=window.electronAPI,r=s!=null&&s.getAuthRedirectUri?await s.getAuthRedirectUri():vPe(),o={state:i,codeVerifier:e,redirectUri:r,returnTo:n};localStorage.setItem(Ug,JSON.stringify(o));const a=new URL(`${Jw}/oauth/authorize`);a.searchParams.set("response_type","code"),a.searchParams.set("client_id",LX),a.searchParams.set("redirect_uri",r),a.searchParams.set("scope",pPe),a.searchParams.set("code_challenge",t),a.searchParams.set("code_challenge_method","S256"),a.searchParams.set("state",i),bPe()?window.open(a.toString()):window.location.assign(a.toString())}async function wPe(){const n=new URL(window.location.href).searchParams,e=n.get("error");if(e)throw new Error(n.get("error_description")??`OAuth error: ${e}`);const t=n.get("code"),i=n.get("state");if(!t||!i)throw new Error("Missing authorization code or state");const s=localStorage.getItem(Ug),r=s?JSON.parse(s):null;if(!r)throw new Error("Missing PKCE state");if(r.state!==i)throw localStorage.removeItem(Ug),new Error("State mismatch");const o=new URLSearchParams;o.set("grant_type","authorization_code"),o.set("code",t),o.set("redirect_uri",r.redirectUri),o.set("client_id",LX),o.set("code_verifier",r.codeVerifier);const a=await fetch(`${Jw}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString()});if(!a.ok){const f=await a.json().catch(()=>null);throw localStorage.removeItem(Ug),new Error(`Token exchange failed: ${(f==null?void 0:f.error_description)||a.statusText}`)}const l=await a.json(),c={accessToken:l.access_token,tokenType:l.token_type,expiresIn:l.expires_in,expiresAt:Date.now()+l.expires_in*1e3,refreshToken:l.refresh_token,idToken:l.id_token,scope:l.scope},d=await fetch(`${Jw}/oauth/userinfo`,{headers:{Authorization:`Bearer ${c.accessToken}`}}),u=d.ok?await d.json():{sub:""},h={tokens:c,user:u};return kX(h),localStorage.removeItem(Ug),{session:h,returnTo:r.returnTo||"/"}}async function CPe(n){if(!n.tokens.refreshToken)return null;const e=new URLSearchParams;e.set("grant_type","refresh_token"),e.set("refresh_token",n.tokens.refreshToken);try{const t=await fetch(`${Jw}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e.toString()});if(!t.ok)return null;const i=await t.json(),s={accessToken:i.access_token,tokenType:i.token_type,expiresIn:i.expires_in,expiresAt:Date.now()+i.expires_in*1e3,refreshToken:i.refresh_token??n.tokens.refreshToken,idToken:i.id_token??n.tokens.idToken,scope:i.scope??n.tokens.scope};let r=n.user;try{const a=await fetch(`${Jw}/oauth/userinfo`,{headers:{Authorization:`Bearer ${s.accessToken}`}});a.ok&&(r=await a.json())}catch{}const o={tokens:s,user:r};return kX(o),o}catch{return null}}function yPe(){return window.location.pathname==="/auth/callback"&&!!new URLSearchParams(window.location.search).get("code")}function xPe(n,e){const t=window.electronAPI;return t!=null&&t.onAuthCallback?t.onAuthCallback(async i=>{if(i.error){e(new Error(i.errorDescription??`OAuth error: ${i.error}`));return}if(!i.code||!i.state){e(new Error("Missing authorization code or state"));return}const s=localStorage.getItem(Ug),r=s?JSON.parse(s):null;if(!r){e(new Error("Missing PKCE state"));return}if(r.state!==i.state){localStorage.removeItem(Ug),e(new Error("State mismatch"));return}try{const o=new URLSearchParams;o.set("grant_type","authorization_code"),o.set("code",i.code),o.set("redirect_uri",r.redirectUri),o.set("client_id",LX),o.set("code_verifier",r.codeVerifier);const a=await fetch(`${Jw}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString()});if(!a.ok){const f=await a.json().catch(()=>null);localStorage.removeItem(Ug),e(new Error(`Token exchange failed: ${(f==null?void 0:f.error_description)||a.statusText}`));return}const l=await a.json(),c={accessToken:l.access_token,tokenType:l.token_type,expiresIn:l.expires_in,expiresAt:Date.now()+l.expires_in*1e3,refreshToken:l.refresh_token,idToken:l.id_token,scope:l.scope},d=await fetch(`${Jw}/oauth/userinfo`,{headers:{Authorization:`Bearer ${c.accessToken}`}}),u=d.ok?await d.json():{sub:""},h={tokens:c,user:u};kX(h),localStorage.removeItem(Ug),n({session:h,returnTo:r.returnTo||"/"})}catch(o){e(o instanceof Error?o:new Error(String(o)))}}):null}const ux="/api",UH="aevatar:auth-required",SPe="chrono_storage_service_unavailable",LPe="chrono-storage-service",kPe="Studio could not access chrono-storage-service. It may not be enabled for this host, the service may be unavailable, or NyxID may be configured to require approval for every proxy request.",NPe="default",EPe="default";function vS(){const n=$H();return n?{Authorization:`Bearer ${n}`}:{}}function Xme(n){const e=String(n||"").toLowerCase();return e.includes("application/json")||e.includes("+json")}function qH(n){const e=String(n||"").toLowerCase();return e.includes("text/html")||e.includes("application/xhtml+xml")}function wS(n){typeof window>"u"||window.dispatchEvent(new CustomEvent(UH,{detail:n}))}function Zme(n){const e=new Headers(n==null?void 0:n.headers);if(!(typeof FormData<"u"&&(n==null?void 0:n.body)instanceof FormData)&&!e.has("Content-Type")&&e.set("Content-Type","application/json"),!e.has("Authorization")){const i=vS();i.Authorization&&e.set("Authorization",i.Authorization)}return e}async function Qme(n){const e=n.headers.get("content-type"),t=Xme(e)?await n.json().catch(()=>({})):{message:await n.text().catch(()=>"")};throw(n.status===401||t!=null&&t.loginUrl)&&wS({loginUrl:t==null?void 0:t.loginUrl,message:(t==null?void 0:t.message)||"Sign in to continue."}),{status:n.status,...t}}function IPe(n){if(typeof window>"u")return()=>{};const e=t=>{const i=t.detail||{};n(i)};return window.addEventListener(UH,e),()=>window.removeEventListener(UH,e)}async function yt(n,e){const t=Zme(e),i=await fetch(`${ux}${n}`,{...e,headers:t,credentials:"include"}),s=i.headers.get("content-type");if(!i.ok)return Qme(i);if(i.status===204)return;const r=i.headers.get("content-length");if(r==="0"||!s&&r==="0")return;if(Xme(s))return i.json();if(!s){const a=await i.text();if(!a.trim())return;try{return JSON.parse(a)}catch{}}i.redirected&&wS({loginUrl:i.url,message:"Sign in to continue."});const o=await i.text().catch(()=>"");throw(qH(s)||i.redirected)&&wS({loginUrl:i.redirected?i.url:null,message:"API returned HTML instead of JSON. Sign-in may be required."}),{status:i.redirected?401:i.status,message:qH(s)?"API returned HTML instead of JSON. Sign-in may be required.":"API returned an unexpected response format.",rawBody:o}}async function DPe(n,e){const t=Zme(e),i=await fetch(`${ux}${n}`,{...e,headers:t,credentials:"include"}),s=i.headers.get("content-type");if(!i.ok)return Qme(i);if(i.redirected||qH(s))throw wS({loginUrl:i.redirected?i.url:null,message:"API returned HTML instead of the requested file. Sign-in may be required."}),{status:i.redirected?401:i.status,message:"API returned HTML instead of the requested file. Sign-in may be required."};return i.text()}function KM(n){return!!((n==null?void 0:n.code)===SPe||(n==null?void 0:n.dependency)===LPe||typeof(n==null?void 0:n.message)=="string"&&n.message.includes("chrono-storage-service"))}function NX(n){return typeof(n==null?void 0:n.message)=="string"&&n.message.trim()?n.message.trim():kPe}function TPe(n,e){const t=new URLSearchParams,i=String(n||"").trim();if(i&&(t.set("tenantId",i),t.set("appId",NPe),t.set("namespace",EPe)),e)for(const[s,r]of Object.entries(e))t.set(s,r);return t.toString()}async function dp(n,e,t,i){const s=await fetch(`${ux}${n}`,{method:"POST",headers:{Accept:"text/event-stream","Content-Type":"application/json",...vS()},body:JSON.stringify(e),credentials:"include",signal:i});if(s.redirected&&wS({loginUrl:s.url,message:"Sign in to continue."}),!s.ok){const l=await s.json().catch(()=>({}));throw(s.status===401||l!=null&&l.loginUrl)&&wS({loginUrl:(l==null?void 0:l.loginUrl)||(s.redirected?s.url:null),message:(l==null?void 0:l.message)||"Sign in to continue."}),{status:s.status,...l}}if(!s.body)return;const r=s.body.getReader(),o=new TextDecoder;let a="";for(;;){const{value:l,done:c}=await r.read();a+=o.decode(l||new Uint8Array,{stream:!c});let d=a.indexOf(` `);for(;d>=0;){const u=a.slice(0,d);a=a.slice(d+2);const h=u.split(` `).filter(f=>f.startsWith("data:")).map(f=>f.slice(5).trim()).join(` `);h&&h!=="[DONE]"&&t(JSON.parse(h)),d=a.indexOf(` -`)}if(c)break}}function ane(n){return!n||typeof n!="object"?null:n.type?n:n.textMessageContent?{type:"TEXT_MESSAGE_CONTENT",delta:n.textMessageContent.delta||""}:n.textMessageReasoning?{type:"TEXT_MESSAGE_REASONING",delta:n.textMessageReasoning.delta||""}:n.textMessageEnd?{type:"TEXT_MESSAGE_END",message:n.textMessageEnd.message||"",delta:n.textMessageEnd.delta||""}:n.runError?{type:"RUN_ERROR",message:n.runError.message||"Assistant run failed."}:n}const Nb={parseYaml:(n,e)=>wt("/editor/parse-yaml",{method:"POST",body:JSON.stringify({yaml:n,availableWorkflowNames:e})}),serializeYaml:(n,e)=>wt("/editor/serialize-yaml",{method:"POST",body:JSON.stringify({document:n,availableWorkflowNames:e})}),validate:(n,e)=>wt("/editor/validate",{method:"POST",body:JSON.stringify({document:n,availableWorkflowNames:e})}),normalize:(n,e)=>wt("/editor/normalize",{method:"POST",body:JSON.stringify({document:n,availableWorkflowNames:e})}),diff:(n,e)=>wt("/editor/diff",{method:"POST",body:JSON.stringify({before:n,after:e})})},CC={getSettings:()=>wt("/workspace"),updateSettings:n=>wt("/workspace/settings",{method:"PUT",body:JSON.stringify(n)}),addDirectory:n=>wt("/workspace/directories",{method:"POST",body:JSON.stringify(n)}),removeDirectory:n=>wt(`/workspace/directories/${n}`,{method:"DELETE"}),listWorkflows:()=>wt("/workspace/workflows"),getWorkflow:n=>wt(`/workspace/workflows/${n}`),saveWorkflow:n=>wt("/workspace/workflows",{method:"POST",body:JSON.stringify(n)})},Dm={getCatalog:()=>wt("/connectors"),saveCatalog:n=>wt("/connectors",{method:"PUT",body:JSON.stringify(n)}),importCatalog:n=>{const e=new FormData;return e.set("file",n,n.name),wt("/connectors/import",{method:"POST",body:e})},getDraft:()=>wt("/connectors/draft"),saveDraft:n=>wt("/connectors/draft",{method:"PUT",body:JSON.stringify(n)}),deleteDraft:()=>wt("/connectors/draft",{method:"DELETE"})},Tm={getCatalog:()=>wt("/roles"),saveCatalog:n=>wt("/roles",{method:"PUT",body:JSON.stringify(n)}),importCatalog:n=>{const e=new FormData;return e.set("file",n,n.name),wt("/roles/import",{method:"POST",body:e})},getDraft:()=>wt("/roles/draft"),saveDraft:n=>wt("/roles/draft",{method:"PUT",body:JSON.stringify(n)}),deleteDraft:()=>wt("/roles/draft",{method:"DELETE"})},S2={get:()=>wt("/settings"),save:n=>wt("/settings",{method:"PUT",body:JSON.stringify(n)}),testRuntime:n=>wt("/settings/runtime/test",{method:"POST",body:JSON.stringify(n)})},ep={get:()=>wt("/user-config"),save:n=>wt("/user-config",{method:"PUT",body:JSON.stringify(n)}),models:()=>wt("/user-config/models")},EL={list:()=>wt("/executions"),get:n=>wt(`/executions/${n}`),start:n=>wt("/executions",{method:"POST",body:JSON.stringify(n)}),resume:(n,e)=>wt(`/executions/${n}/resume`,{method:"POST",body:JSON.stringify(e)}),stop:(n,e)=>wt(`/executions/${n}/stop`,{method:"POST",body:JSON.stringify(e)})},_me={authorWorkflow:async(n,e)=>{let t="",i="";return await Jg("/app/workflow-generator",n,s=>{var r,a,l;const o=ane(s);if(o){if(o.type==="TEXT_MESSAGE_CONTENT"){t+=o.delta||"",(r=e==null?void 0:e.onText)==null||r.call(e,t);return}if(o.type==="TEXT_MESSAGE_REASONING"){i+=o.delta||"",(a=e==null?void 0:e.onReasoning)==null||a.call(e,i);return}if(o.type==="TEXT_MESSAGE_END"){t=t||o.message||o.delta||"",(l=e==null?void 0:e.onText)==null||l.call(e,t);return}if(o.type==="RUN_ERROR")throw new Error(o.message||"Assistant run failed.")}},e==null?void 0:e.signal),t},authorScript:async(n,e)=>{let t="",i="",s=null,o="";return await Jg("/app/scripts/generator",n,r=>{var l,c,d;const a=ane(r);if(a){if(a.type==="TEXT_MESSAGE_CONTENT"){t+=a.delta||"",(l=e==null?void 0:e.onText)==null||l.call(e,t);return}if(a.type==="TEXT_MESSAGE_REASONING"){i+=a.delta||"",(c=e==null?void 0:e.onReasoning)==null||c.call(e,i);return}if(a.type==="TEXT_MESSAGE_END"){t=t||a.message||a.delta||"",s=a.scriptPackage||null,o=a.currentFilePath||"",(d=e==null?void 0:e.onText)==null||d.call(e,t);return}if(a.type==="RUN_ERROR")throw new Error(a.message||"Assistant run failed.")}},e==null?void 0:e.signal),{text:t,scriptPackage:s,currentFilePath:o}}},iPe={getSession:()=>wt("/auth/me")},Ya={getBinding:n=>wt(`/scopes/${Ni(n)}/binding`),bindWorkflow:(n,e,t,i)=>wt(`/scopes/${Ni(n)}/binding`,{method:"PUT",body:JSON.stringify({implementationKind:"workflow",...t?{displayName:t}:{},...i?{serviceId:i}:{},workflowYamls:e})}),bindGAgent:(n,e,t,i)=>wt(`/scopes/${Ni(n)}/binding`,{method:"PUT",body:JSON.stringify({implementationKind:"gagent",...t?{displayName:t}:{},...i?{serviceId:i}:{},gagent:{actorTypeName:e,endpoints:[{endpointId:"chat",displayName:"Chat",kind:"chat",requestTypeUrl:"",responseTypeUrl:"",description:""}]}})}),bindScript:(n,e,t,i,s)=>wt(`/scopes/${Ni(n)}/binding`,{method:"PUT",body:JSON.stringify({implementationKind:"script",...t?{displayName:t}:{},...i?{serviceId:i}:{},script:{scriptId:e,...s?{scriptRevision:s}:{}}})}),streamDraftRun:(n,e,t,i,s)=>{const o={prompt:e};return t!=null&&t.length&&(o.workflowYamls=t),Jg(`/scopes/${Ni(n)}/workflow/draft-run`,o,i??(()=>{}),s)},streamDefaultChat:(n,e,t,i,s,o,r)=>{const a={prompt:e};return t&&(a.actorId=t),i&&(a.sessionId=i),r&&Object.keys(r).length>0&&(a.headers=r),Jg(`/scopes/${Ni(n)}/invoke/chat:stream`,a,s??(()=>{}),o)},streamInvoke:(n,e,t,i,s,o="chat",r,a,l)=>{const c={prompt:t};return r&&Object.keys(r).length>0&&(c.headers=r),a&&(c.actorId=a),l&&l.length>0&&(c.inputParts=l),Jg(`/scopes/${Ni(n)}/services/${Ni(e)}/invoke/${Ni(o)}:stream`,c,i??(()=>{}),s)},listServices:(n,e=20)=>wt(`/services?tenantId=${Ni(n)}&appId=default&namespace=default&take=${e}`),resumeRun:(n,e,t,i)=>wt(`/scopes/${Ni(n)}/services/${Ni(e)}/runs/${Ni(t)}:resume`,{method:"POST",body:JSON.stringify(i)}),getActorSnapshot:n=>wt(`/actors/${Ni(n)}`),getActorTimeline:(n,e=50)=>wt(`/actors/${Ni(n)}/timeline?take=${e}`)},nPe={createConversation:n=>wt(`/scopes/${Ni(n)}/nyxid-chat/conversations`,{method:"POST"}),listConversations:n=>wt(`/scopes/${Ni(n)}/nyxid-chat/conversations`),streamMessage:(n,e,t,i,s)=>Jg(`/scopes/${Ni(n)}/nyxid-chat/conversations/${Ni(e)}:stream`,{prompt:t},i??(()=>{}),s),deleteConversation:(n,e)=>wt(`/scopes/${Ni(n)}/nyxid-chat/conversations/${Ni(e)}`,{method:"DELETE"}),approveToolCall:(n,e,t,i,s,o,r,a)=>Jg(`/scopes/${Ni(n)}/nyxid-chat/conversations/${Ni(e)}:approve`,{requestId:t,approved:i,reason:a??"",sessionId:r??""},s??(()=>{}),o)},IL={createRoom:(n,e)=>wt(`/scopes/${Ni(n)}/streaming-proxy/rooms`,{method:"POST",body:JSON.stringify(e?{roomName:e}:{})}),streamChat:(n,e,t,i,s,o,r,a)=>{const l={prompt:t};return o&&(l.sessionId=o),r!==void 0&&(l.llmRoute=r),a!==void 0&&(l.llmModel=a),Jg(`/scopes/${Ni(n)}/streaming-proxy/rooms/${Ni(e)}:chat`,l,i??(()=>{}),s)},deleteRoom:(n,e)=>wt(`/scopes/${Ni(n)}/streaming-proxy/rooms/${Ni(e)}`,{method:"DELETE"})},Uw={getIndex:n=>wt(`/scopes/${Ni(n)}/chat-history`),getConversation:(n,e)=>wt(`/scopes/${Ni(n)}/chat-history/conversations/${Ni(e)}`),saveConversation:(n,e,t,i)=>wt(`/scopes/${Ni(n)}/chat-history/conversations/${Ni(e)}`,{method:"PUT",body:JSON.stringify({meta:t,messages:i})}),deleteConversation:(n,e)=>wt(`/scopes/${Ni(n)}/chat-history/conversations/${Ni(e)}`,{method:"DELETE"})},DL={listTypes:()=>wt("/scopes/gagent-types"),listActors:n=>wt(`/scopes/${Ni(n)}/gagent-actors`),addActor:(n,e,t)=>wt(`/scopes/${Ni(n)}/gagent-actors`,{method:"POST",body:JSON.stringify({gagentType:e,actorId:t})}),removeActor:(n,e,t)=>wt(`/scopes/${Ni(n)}/gagent-actors/${Ni(t)}?gagentType=${Ni(e)}`,{method:"DELETE"}),streamDraftRun:(n,e,t,i,s,o)=>Jg(`/scopes/${Ni(n)}/gagent/draft-run`,{actorTypeName:e,prompt:t,preferredActorId:i||null},s??(()=>{}),o)};function Ni(n){return encodeURIComponent(n.trim())}const lne={searchSkills:async(n,e="",t="mixed",i=1,s=50)=>{const o=`${n.replace(/\/+$/,"")}/api/web/skill-search?query=${encodeURIComponent(e)}&mode=keyword&scope=${encodeURIComponent(t)}&page=${i}&pageSize=${s}`,r=await fetch(o,{headers:{...ex()}});if(!r.ok)throw{status:r.status,message:`Ornn search failed: ${r.statusText}`};const a=await r.json();return(a==null?void 0:a.data)||{total:0,totalPages:0,page:1,pageSize:s,items:[]}},checkHealth:async n=>{try{const e=`${n.replace(/\/+$/,"")}/api/web/skill-search?query=&scope=public&page=1&pageSize=1`;return(await fetch(e,{headers:{...ex()},signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}},qw=n=>n.split("/").map(e=>encodeURIComponent(e)).join("/"),av={getManifest:()=>wt("/explorer/manifest"),getFile:n=>tPe(`/explorer/files/${qw(n)}`),getFileUrl:n=>`${$y}/explorer/files/${qw(n)}`,getFileBlob:async n=>{const e=await fetch(`${$y}/explorer/files/${qw(n)}`,{headers:ex(),credentials:"include"});if(!e.ok)throw new Error(`Failed to fetch file: ${e.status}`);return e.blob()},putFile:(n,e)=>wt(`/explorer/files/${qw(n)}`,{method:"PUT",headers:{"Content-Type":"text/plain"},body:e}),uploadFile:async(n,e)=>{const t=new FormData;t.append("file",e);const i=await fetch(`${$y}/explorer/upload/${qw(n)}`,{method:"POST",headers:ex(),body:t,credentials:"include"});if(!i.ok)throw new Error(`Upload failed: ${i.status}`);return i.json()},deleteFile:n=>wt(`/explorer/files/${qw(n)}`,{method:"DELETE"})},wa={getContext:()=>wt("/app/context"),validateDraftScript:(n,e)=>wt("/app/scripts/validate",{method:"POST",body:JSON.stringify(n),signal:e}),listScripts:(n=!1)=>wt(`/app/scripts?includeSource=${n?"true":"false"}`),getScript:n=>wt(`/app/scripts/${encodeURIComponent(n)}`),getScriptCatalog:n=>wt(`/app/scripts/${encodeURIComponent(n)}/catalog`),listScriptRuntimes:(n=24)=>wt(`/app/scripts/runtimes?take=${n}`),getEvolutionDecision:n=>wt(`/app/scripts/evolutions/${encodeURIComponent(n)}`),getRuntimeReadModel:n=>wt(`/app/scripts/runtimes/${encodeURIComponent(n)}/readmodel`),saveScript:n=>wt("/app/scripts",{method:"POST",body:JSON.stringify(n)}),observeScriptSave:(n,e)=>wt(`/app/scripts/${encodeURIComponent(n)}/save-observation`,{method:"POST",body:JSON.stringify(e)}),runDraftScript:(n,e)=>wt(`/scopes/${Ni(n)}/scripts/draft-run`,{method:"POST",body:JSON.stringify(e)})},sPe={getReadModel:n=>wt(`/app/scripts/runtimes/${encodeURIComponent(n)}/readmodel`),proposeEvolution:n=>wt("/app/scripts/evolutions/proposals",{method:"POST",body:JSON.stringify(n)})};function cne(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t=n.length?n.apply(this,s):function(){for(var r=arguments.length,a=new Array(r),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};x2.initial(n),x2.handler(e);var t={current:n},i=vk(EPe)(t,e),s=vk(NPe)(t),o=vk(x2.changes)(n),r=vk(kPe)(t);function a(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return x2.selector(c),c(t.current)}function l(c){mPe(i,s,o,r)(c)}return[a,l]}function kPe(n,e){return UE(e)?e(n.current):e}function NPe(n,e){return n.current=fne(fne({},n.current),e),e}function EPe(n,e,t){return UE(e)?e(n.current):Object.keys(t).forEach(function(i){var s;return(s=e[i])===null||s===void 0?void 0:s.call(e,n.current[i])}),t}var IPe={create:LPe},DPe={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function TPe(n){return function e(){for(var t=this,i=arguments.length,s=new Array(i),o=0;o=n.length?n.apply(this,s):function(){for(var r=arguments.length,a=new Array(r),l=0;lyt("/editor/parse-yaml",{method:"POST",body:JSON.stringify({yaml:n,availableWorkflowNames:e})}),serializeYaml:(n,e)=>yt("/editor/serialize-yaml",{method:"POST",body:JSON.stringify({document:n,availableWorkflowNames:e})}),validate:(n,e)=>yt("/editor/validate",{method:"POST",body:JSON.stringify({document:n,availableWorkflowNames:e})}),normalize:(n,e)=>yt("/editor/normalize",{method:"POST",body:JSON.stringify({document:n,availableWorkflowNames:e})}),diff:(n,e)=>yt("/editor/diff",{method:"POST",body:JSON.stringify({before:n,after:e})})},jC={getSettings:()=>yt("/workspace"),updateSettings:n=>yt("/workspace/settings",{method:"PUT",body:JSON.stringify(n)}),addDirectory:n=>yt("/workspace/directories",{method:"POST",body:JSON.stringify(n)}),removeDirectory:n=>yt(`/workspace/directories/${n}`,{method:"DELETE"}),listWorkflows:()=>yt("/workspace/workflows"),getWorkflow:n=>yt(`/workspace/workflows/${n}`),saveWorkflow:n=>yt("/workspace/workflows",{method:"POST",body:JSON.stringify(n)})},zm={getCatalog:()=>yt("/connectors"),saveCatalog:n=>yt("/connectors",{method:"PUT",body:JSON.stringify(n)}),importCatalog:n=>{const e=new FormData;return e.set("file",n,n.name),yt("/connectors/import",{method:"POST",body:e})},getDraft:()=>yt("/connectors/draft"),saveDraft:n=>yt("/connectors/draft",{method:"PUT",body:JSON.stringify(n)}),deleteDraft:()=>yt("/connectors/draft",{method:"DELETE"})},$m={getCatalog:()=>yt("/roles"),saveCatalog:n=>yt("/roles",{method:"PUT",body:JSON.stringify(n)}),importCatalog:n=>{const e=new FormData;return e.set("file",n,n.name),yt("/roles/import",{method:"POST",body:e})},getDraft:()=>yt("/roles/draft"),saveDraft:n=>yt("/roles/draft",{method:"PUT",body:JSON.stringify(n)}),deleteDraft:()=>yt("/roles/draft",{method:"DELETE"})},$2={get:()=>yt("/settings"),save:n=>yt("/settings",{method:"PUT",body:JSON.stringify(n)}),testRuntime:n=>yt("/settings/runtime/test",{method:"POST",body:JSON.stringify(n)})},up={get:()=>yt("/user-config"),save:n=>yt("/user-config",{method:"PUT",body:JSON.stringify(n)}),models:()=>yt("/user-config/models")},YL={list:()=>yt("/executions"),get:n=>yt(`/executions/${n}`),start:n=>yt("/executions",{method:"POST",body:JSON.stringify(n)}),resume:(n,e)=>yt(`/executions/${n}/resume`,{method:"POST",body:JSON.stringify(e)}),stop:(n,e)=>yt(`/executions/${n}/stop`,{method:"POST",body:JSON.stringify(e)})},Jme={authorWorkflow:async(n,e)=>{let t="",i="";return await dp("/app/workflow-generator",n,s=>{var o,a,l;const r=Pne(s);if(r){if(r.type==="TEXT_MESSAGE_CONTENT"){t+=r.delta||"",(o=e==null?void 0:e.onText)==null||o.call(e,t);return}if(r.type==="TEXT_MESSAGE_REASONING"){i+=r.delta||"",(a=e==null?void 0:e.onReasoning)==null||a.call(e,i);return}if(r.type==="TEXT_MESSAGE_END"){t=t||r.message||r.delta||"",(l=e==null?void 0:e.onText)==null||l.call(e,t);return}if(r.type==="RUN_ERROR")throw new Error(r.message||"Assistant run failed.")}},e==null?void 0:e.signal),t},authorScript:async(n,e)=>{let t="",i="",s=null,r="";return await dp("/app/scripts/generator",n,o=>{var l,c,d;const a=Pne(o);if(a){if(a.type==="TEXT_MESSAGE_CONTENT"){t+=a.delta||"",(l=e==null?void 0:e.onText)==null||l.call(e,t);return}if(a.type==="TEXT_MESSAGE_REASONING"){i+=a.delta||"",(c=e==null?void 0:e.onReasoning)==null||c.call(e,i);return}if(a.type==="TEXT_MESSAGE_END"){t=t||a.message||a.delta||"",s=a.scriptPackage||null,r=a.currentFilePath||"",(d=e==null?void 0:e.onText)==null||d.call(e,t);return}if(a.type==="RUN_ERROR")throw new Error(a.message||"Assistant run failed.")}},e==null?void 0:e.signal),{text:t,scriptPackage:s,currentFilePath:r}}},RPe={getSession:()=>yt("/auth/me")},ba={getBinding:n=>yt(`/scopes/${Ei(n)}/binding`),bindWorkflow:(n,e,t,i)=>yt(`/scopes/${Ei(n)}/binding`,{method:"PUT",body:JSON.stringify({implementationKind:"workflow",...t?{displayName:t}:{},...i?{serviceId:i}:{},workflowYamls:e})}),bindGAgent:(n,e,t,i)=>yt(`/scopes/${Ei(n)}/binding`,{method:"PUT",body:JSON.stringify({implementationKind:"gagent",...t?{displayName:t}:{},...i?{serviceId:i}:{},gagent:{actorTypeName:e,endpoints:[{endpointId:"chat",displayName:"Chat",kind:"chat",requestTypeUrl:"",responseTypeUrl:"",description:""}]}})}),bindScript:(n,e,t,i,s)=>yt(`/scopes/${Ei(n)}/binding`,{method:"PUT",body:JSON.stringify({implementationKind:"script",...t?{displayName:t}:{},...i?{serviceId:i}:{},script:{scriptId:e,...s?{scriptRevision:s}:{}}})}),streamDraftRun:(n,e,t,i,s)=>{const r={prompt:e};return t!=null&&t.length&&(r.workflowYamls=t),dp(`/scopes/${Ei(n)}/workflow/draft-run`,r,i??(()=>{}),s)},streamDefaultChat:(n,e,t,i,s,r,o)=>{const a={prompt:e};return t&&(a.actorId=t),i&&(a.sessionId=i),o&&Object.keys(o).length>0&&(a.headers=o),dp(`/scopes/${Ei(n)}/invoke/chat:stream`,a,s??(()=>{}),r)},streamInvoke:(n,e,t,i,s,r="chat",o,a,l)=>{const c={prompt:t};return o&&Object.keys(o).length>0&&(c.headers=o),a&&(c.actorId=a),l&&l.length>0&&(c.inputParts=l),dp(`/scopes/${Ei(n)}/services/${Ei(e)}/invoke/${Ei(r)}:stream`,c,i??(()=>{}),s)},listServices:(n,e=20)=>yt(`/services?${TPe(n,{take:String(e)})}`),resumeRun:(n,e,t,i)=>yt(`/scopes/${Ei(n)}/services/${Ei(e)}/runs/${Ei(t)}:resume`,{method:"POST",body:JSON.stringify(i)}),getActorSnapshot:n=>yt(`/actors/${Ei(n)}`),getActorTimeline:(n,e=50)=>yt(`/actors/${Ei(n)}/timeline?take=${e}`)},MPe={createConversation:n=>yt(`/scopes/${Ei(n)}/nyxid-chat/conversations`,{method:"POST"}),listConversations:n=>yt(`/scopes/${Ei(n)}/nyxid-chat/conversations`).then(PPe),streamMessage:(n,e,t,i,s)=>dp(`/scopes/${Ei(n)}/nyxid-chat/conversations/${Ei(e)}:stream`,{prompt:t},i??(()=>{}),s),deleteConversation:(n,e)=>yt(`/scopes/${Ei(n)}/nyxid-chat/conversations/${Ei(e)}`,{method:"DELETE"}),approveToolCall:(n,e,t,i,s,r,o,a)=>dp(`/scopes/${Ei(n)}/nyxid-chat/conversations/${Ei(e)}:approve`,{requestId:t,approved:i,reason:a??"",sessionId:o??""},s??(()=>{}),r)},XL={createRoom:(n,e)=>yt(`/scopes/${Ei(n)}/streaming-proxy/rooms`,{method:"POST",body:JSON.stringify(e?{roomName:e}:{})}),streamChat:(n,e,t,i,s,r,o,a)=>{const l={prompt:t};return r&&(l.sessionId=r),o!==void 0&&(l.llmRoute=o),a!==void 0&&(l.llmModel=a),dp(`/scopes/${Ei(n)}/streaming-proxy/rooms/${Ei(e)}:chat`,l,i??(()=>{}),s)},deleteRoom:(n,e)=>yt(`/scopes/${Ei(n)}/streaming-proxy/rooms/${Ei(e)}`,{method:"DELETE"})},uC={getIndex:n=>yt(`/scopes/${Ei(n)}/chat-history`),getConversation:(n,e)=>yt(`/scopes/${Ei(n)}/chat-history/conversations/${Ei(e)}`),saveConversation:(n,e,t,i)=>yt(`/scopes/${Ei(n)}/chat-history/conversations/${Ei(e)}`,{method:"PUT",body:JSON.stringify({meta:t,messages:i})}),deleteConversation:(n,e)=>yt(`/scopes/${Ei(n)}/chat-history/conversations/${Ei(e)}`,{method:"DELETE"})};function APe(n){return(Array.isArray(n)?n:Array.isArray(n==null?void 0:n.groups)?n.groups:Array.isArray(n==null?void 0:n.Groups)?n.Groups:[]).map(t=>{const i=t,s=Array.isArray(i.actorIds)?i.actorIds:Array.isArray(i.ActorIds)?i.ActorIds:[];return{gAgentType:String(i.gAgentType??i.GAgentType??""),actorIds:s.map(r=>String(r))}})}function PPe(n){return(Array.isArray(n)?n:Array.isArray(n==null?void 0:n.conversations)?n.conversations:Array.isArray(n==null?void 0:n.Conversations)?n.Conversations:[]).map(t=>{const i=t;return{actorId:String(i.actorId??i.ActorId??"")}})}const U2={listTypes:()=>yt("/scopes/gagent-types"),listActors:n=>yt(`/scopes/${Ei(n)}/gagent-actors`).then(APe),removeActor:(n,e,t)=>yt(`/scopes/${Ei(n)}/gagent-actors/${Ei(t)}?gagentType=${Ei(e)}`,{method:"DELETE"}),streamDraftRun:(n,e,t,i,s,r)=>dp(`/scopes/${Ei(n)}/gagent/draft-run`,{actorTypeName:e,prompt:t,preferredActorId:i||null},s??(()=>{}),r)};function Ei(n){return encodeURIComponent(n.trim())}const One={searchSkills:async(n,e="",t="mixed",i=1,s=50)=>{const r=`${n.replace(/\/+$/,"")}/api/web/skill-search?query=${encodeURIComponent(e)}&mode=keyword&scope=${encodeURIComponent(t)}&page=${i}&pageSize=${s}`,o=await fetch(r,{headers:{...vS()}});if(!o.ok)throw{status:o.status,message:`Ornn search failed: ${o.statusText}`};const a=await o.json();return(a==null?void 0:a.data)||{total:0,totalPages:0,page:1,pageSize:s,items:[]}},checkHealth:async n=>{try{const e=`${n.replace(/\/+$/,"")}/api/web/skill-search?query=&scope=public&page=1&pageSize=1`;return(await fetch(e,{headers:{...vS()},signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}},hC=n=>n.split("/").map(e=>encodeURIComponent(e)).join("/"),Sv={getManifest:()=>yt("/explorer/manifest"),getFile:n=>DPe(`/explorer/files/${hC(n)}`),getFileUrl:n=>`${ux}/explorer/files/${hC(n)}`,getFileBlob:async n=>{const e=await fetch(`${ux}/explorer/files/${hC(n)}`,{headers:vS(),credentials:"include"});if(!e.ok)throw new Error(`Failed to fetch file: ${e.status}`);return e.blob()},putFile:(n,e)=>yt(`/explorer/files/${hC(n)}`,{method:"PUT",headers:{"Content-Type":"text/plain"},body:e}),uploadFile:async(n,e)=>{const t=new FormData;t.append("file",e);const i=await fetch(`${ux}/explorer/upload/${hC(n)}`,{method:"POST",headers:vS(),body:t,credentials:"include"});if(!i.ok)throw new Error(`Upload failed: ${i.status}`);return i.json()},deleteFile:n=>yt(`/explorer/files/${hC(n)}`,{method:"DELETE"})},ma={getContext:()=>yt("/app/context"),validateDraftScript:(n,e)=>yt("/app/scripts/validate",{method:"POST",body:JSON.stringify(n),signal:e}),listScripts:(n=!1)=>yt(`/app/scripts?includeSource=${n?"true":"false"}`),getScript:n=>yt(`/app/scripts/${encodeURIComponent(n)}`),getScriptCatalog:n=>yt(`/app/scripts/${encodeURIComponent(n)}/catalog`),listScriptRuntimes:(n=24)=>yt(`/app/scripts/runtimes?take=${n}`),getEvolutionDecision:n=>yt(`/app/scripts/evolutions/${encodeURIComponent(n)}`),getRuntimeReadModel:n=>yt(`/app/scripts/runtimes/${encodeURIComponent(n)}/readmodel`),saveScript:n=>yt("/app/scripts",{method:"POST",body:JSON.stringify(n)}),observeScriptSave:(n,e)=>yt(`/app/scripts/${encodeURIComponent(n)}/save-observation`,{method:"POST",body:JSON.stringify(e)}),runDraftScript:(n,e)=>yt(`/scopes/${Ei(n)}/scripts/draft-run`,{method:"POST",body:JSON.stringify(e)})},OPe={getReadModel:n=>yt(`/app/scripts/runtimes/${encodeURIComponent(n)}/readmodel`),proposeEvolution:n=>yt("/app/scripts/evolutions/proposals",{method:"POST",body:JSON.stringify(n)})};function Fne(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t=n.length?n.apply(this,s):function(){for(var o=arguments.length,a=new Array(o),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};q2.initial(n),q2.handler(e);var t={current:n},i=Hk(oOe)(t,e),s=Hk(rOe)(t),r=Hk(q2.changes)(n),o=Hk(sOe)(t);function a(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return q2.selector(c),c(t.current)}function l(c){GPe(i,s,r,o)(c)}return[a,l]}function sOe(n,e){return fI(e)?e(n.current):e}function rOe(n,e){return n.current=Vne(Vne({},n.current),e),e}function oOe(n,e,t){return fI(e)?e(n.current):Object.keys(t).forEach(function(i){var s;return(s=e[i])===null||s===void 0?void 0:s.call(e,n.current[i])}),t}var aOe={create:nOe},lOe={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function cOe(n){return function e(){for(var t=this,i=arguments.length,s=new Array(i),r=0;r=n.length?n.apply(this,s):function(){for(var o=arguments.length,a=new Array(o),l=0;l{i.current=!1}:n,e)}var Cc=nOe;function tN(){}function GC(n,e,t,i){return sOe(n,i)||oOe(n,e,t,i)}function sOe(n,e){return n.editor.getModel(xme(n,e))}function oOe(n,e,t,i){return n.editor.createModel(e,t,i?xme(n,i):void 0)}function xme(n,e){return n.Uri.parse(e)}function rOe({original:n,modified:e,language:t,originalLanguage:i,modifiedLanguage:s,originalModelPath:o,modifiedModelPath:r,keepCurrentOriginalModel:a=!1,keepCurrentModifiedModel:l=!1,theme:c="light",loading:d="Loading...",options:u={},height:h="100%",width:f="100%",className:g,wrapperProps:p={},beforeMount:_=tN,onMount:b=tN}){let[v,C]=R.useState(!1),[y,S]=R.useState(!0),x=R.useRef(null),L=R.useRef(null),k=R.useRef(null),N=R.useRef(b),T=R.useRef(_),M=R.useRef(!1);Sme(()=>{let A=eZ.init();return A.then(z=>(L.current=z)&&S(!1)).catch(z=>(z==null?void 0:z.type)!=="cancelation"&&console.error("Monaco initialization: error:",z)),()=>x.current?O():A.cancel()}),Cc(()=>{if(x.current&&L.current){let A=x.current.getOriginalEditor(),z=GC(L.current,n||"",i||t||"text",o||"");z!==A.getModel()&&A.setModel(z)}},[o],v),Cc(()=>{if(x.current&&L.current){let A=x.current.getModifiedEditor(),z=GC(L.current,e||"",s||t||"text",r||"");z!==A.getModel()&&A.setModel(z)}},[r],v),Cc(()=>{let A=x.current.getModifiedEditor();A.getOption(L.current.editor.EditorOption.readOnly)?A.setValue(e||""):e!==A.getValue()&&(A.executeEdits("",[{range:A.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),A.pushUndoStop())},[e],v),Cc(()=>{var A,z;(z=(A=x.current)==null?void 0:A.getModel())==null||z.original.setValue(n||"")},[n],v),Cc(()=>{let{original:A,modified:z}=x.current.getModel();L.current.editor.setModelLanguage(A,i||t||"text"),L.current.editor.setModelLanguage(z,s||t||"text")},[t,i,s],v),Cc(()=>{var A;(A=L.current)==null||A.editor.setTheme(c)},[c],v),Cc(()=>{var A;(A=x.current)==null||A.updateOptions(u)},[u],v);let P=R.useCallback(()=>{var U;if(!L.current)return;T.current(L.current);let A=GC(L.current,n||"",i||t||"text",o||""),z=GC(L.current,e||"",s||t||"text",r||"");(U=x.current)==null||U.setModel({original:A,modified:z})},[t,e,s,n,i,o,r]),V=R.useCallback(()=>{var A;!M.current&&k.current&&(x.current=L.current.editor.createDiffEditor(k.current,{automaticLayout:!0,...u}),P(),(A=L.current)==null||A.editor.setTheme(c),C(!0),M.current=!0)},[u,c,P]);R.useEffect(()=>{v&&N.current(x.current,L.current)},[v]),R.useEffect(()=>{!y&&!v&&V()},[y,v,V]);function O(){var z,U,W,F;let A=(z=x.current)==null?void 0:z.getModel();a||((U=A==null?void 0:A.original)==null||U.dispose()),l||((W=A==null?void 0:A.modified)==null||W.dispose()),(F=x.current)==null||F.dispose()}return a_.createElement(yme,{width:f,height:h,isEditorReady:v,loading:d,_ref:k,className:g,wrapperProps:p})}var aOe=rOe;R.memo(aOe);function lOe(n){let e=R.useRef();return R.useEffect(()=>{e.current=n},[n]),e.current}var cOe=lOe,L2=new Map;function dOe({defaultValue:n,defaultLanguage:e,defaultPath:t,value:i,language:s,path:o,theme:r="light",line:a,loading:l="Loading...",options:c={},overrideServices:d={},saveViewState:u=!0,keepCurrentModel:h=!1,width:f="100%",height:g="100%",className:p,wrapperProps:_={},beforeMount:b=tN,onMount:v=tN,onChange:C,onValidate:y=tN}){let[S,x]=R.useState(!1),[L,k]=R.useState(!0),N=R.useRef(null),T=R.useRef(null),M=R.useRef(null),P=R.useRef(v),V=R.useRef(b),O=R.useRef(),A=R.useRef(i),z=cOe(o),U=R.useRef(!1),W=R.useRef(!1);Sme(()=>{let X=eZ.init();return X.then(Q=>(N.current=Q)&&k(!1)).catch(Q=>(Q==null?void 0:Q.type)!=="cancelation"&&console.error("Monaco initialization: error:",Q)),()=>T.current?q():X.cancel()}),Cc(()=>{var Q,oe,ge,ye;let X=GC(N.current,n||i||"",e||s||"",o||t||"");X!==((Q=T.current)==null?void 0:Q.getModel())&&(u&&L2.set(z,(oe=T.current)==null?void 0:oe.saveViewState()),(ge=T.current)==null||ge.setModel(X),u&&((ye=T.current)==null||ye.restoreViewState(L2.get(o))))},[o],S),Cc(()=>{var X;(X=T.current)==null||X.updateOptions(c)},[c],S),Cc(()=>{!T.current||i===void 0||(T.current.getOption(N.current.editor.EditorOption.readOnly)?T.current.setValue(i):i!==T.current.getValue()&&(W.current=!0,T.current.executeEdits("",[{range:T.current.getModel().getFullModelRange(),text:i,forceMoveMarkers:!0}]),T.current.pushUndoStop(),W.current=!1))},[i],S),Cc(()=>{var Q,oe;let X=(Q=T.current)==null?void 0:Q.getModel();X&&s&&((oe=N.current)==null||oe.editor.setModelLanguage(X,s))},[s],S),Cc(()=>{var X;a!==void 0&&((X=T.current)==null||X.revealLine(a))},[a],S),Cc(()=>{var X;(X=N.current)==null||X.editor.setTheme(r)},[r],S);let F=R.useCallback(()=>{var X;if(!(!M.current||!N.current)&&!U.current){V.current(N.current);let Q=o||t,oe=GC(N.current,i||n||"",e||s||"",Q||"");T.current=(X=N.current)==null?void 0:X.editor.create(M.current,{model:oe,automaticLayout:!0,...c},d),u&&T.current.restoreViewState(L2.get(Q)),N.current.editor.setTheme(r),a!==void 0&&T.current.revealLine(a),x(!0),U.current=!0}},[n,e,t,i,s,o,c,d,u,r,a]);R.useEffect(()=>{S&&P.current(T.current,N.current)},[S]),R.useEffect(()=>{!L&&!S&&F()},[L,S,F]),A.current=i,R.useEffect(()=>{var X,Q;S&&C&&((X=O.current)==null||X.dispose(),O.current=(Q=T.current)==null?void 0:Q.onDidChangeModelContent(oe=>{W.current||C(T.current.getValue(),oe)}))},[S,C]),R.useEffect(()=>{if(S){let X=N.current.editor.onDidChangeMarkers(Q=>{var ge;let oe=(ge=T.current.getModel())==null?void 0:ge.uri;if(oe&&Q.find(ye=>ye.path===oe.path)){let ye=N.current.editor.getModelMarkers({resource:oe});y==null||y(ye)}});return()=>{X==null||X.dispose()}}return()=>{}},[S,y]);function q(){var X,Q;(X=O.current)==null||X.dispose(),h?u&&L2.set(o,T.current.saveViewState()):(Q=T.current.getModel())==null||Q.dispose(),T.current.dispose()}return a_.createElement(yme,{width:f,height:g,isEditorReady:S,loading:l,_ref:M,className:p,wrapperProps:_})}var uOe=dOe,hOe=R.memo(uOe),fOe=hOe;function gOe(n){if(n.length===0)throw new Error("Invalid tail call");return[n.slice(0,n.length-1),n[n.length-1]]}function gn(n,e,t=(i,s)=>i===s){if(n===e)return!0;if(!n||!e||n.length!==e.length)return!1;for(let i=0,s=n.length;it(n[i],e))}function tZ(n,e){let t=0,i=n-1;for(;t<=i;){const s=(t+i)/2|0,o=e(s);if(o<0)t=s+1;else if(o>0)i=s-1;else return s}return-(t+1)}function wH(n,e,t){if(n=n|0,n>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],s=[],o=[],r=[];for(const a of e){const l=t(a,i);l<0?s.push(a):l>0?o.push(a):r.push(a)}return n!!e)}function mne(n){let e=0;for(let t=0;t0}function _p(n,e=t=>t){const t=new Set;return n.filter(i=>{const s=e(i);return t.has(s)?!1:(t.add(s),!0)})}function Gr(n,e){let t=typeof e=="number"?n:0;typeof e=="number"?t=n:(t=0,e=n);const i=[];if(t<=e)for(let s=t;se;s--)i.push(s);return i}function V3(n,e,t){const i=n.slice(0,e),s=n.slice(e);return i.concat(t,s)}function x6(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.unshift(e))}function k2(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.push(e))}function CH(n,e){for(const t of e)n.push(t)}function _Oe(n,e){const t=[];for(const i of n){const s=e(i);s!==void 0&&t.push(s)}return t}function nZ(n){return Array.isArray(n)?n:[n]}function bOe(n,e,t){const i=Nme(n,e),s=n.length,o=t.length;n.length=s+o;for(let r=s-1;r>=i;r--)n[r+o]=n[r];for(let r=0;r0}n.isGreaterThan=i;function s(o){return o===0}n.isNeitherLessOrGreaterThan=s,n.greaterThan=1,n.lessThan=-1,n.neitherLessOrGreaterThan=0})(__||(__={}));function Ko(n,e){return(t,i)=>e(n(t),n(i))}function vOe(...n){return(e,t)=>{for(const i of n){const s=i(e,t);if(!__.isNeitherLessOrGreaterThan(s))return s}return __.neitherLessOrGreaterThan}}const al=(n,e)=>n-e,Eme=(n,e)=>al(n?1:0,e?1:0);function Ime(n){return(e,t)=>-n(e,t)}function wOe(n){return(e,t)=>e===void 0?t===void 0?__.neitherLessOrGreaterThan:__.lessThan:t===void 0?__.greaterThan:n(e,t)}class bp{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}const vy=class vy{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new vy(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new vy(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(s=>((i||__.isGreaterThan(e(s,t)))&&(i=!1,t=s),!0)),t}};vy.empty=new vy(e=>{});let d1=vy;class nP{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((s,o)=>t(e[s],e[o]));return new nP(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;te+t,0)}class COe{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ix.isErrorNoTelemetry(e)?new ix(e.message+` + `},jne=cOe(fOe)(e_e),gOe={config:uOe},pOe=function(){for(var e=arguments.length,t=new Array(e),i=0;i{i.current=!1}:n,e)}var kc=POe;function xN(){}function py(n,e,t,i){return OOe(n,i)||FOe(n,e,t,i)}function OOe(n,e){return n.editor.getModel(o_e(n,e))}function FOe(n,e,t,i){return n.editor.createModel(e,t,i?o_e(n,i):void 0)}function o_e(n,e){return n.Uri.parse(e)}function BOe({original:n,modified:e,language:t,originalLanguage:i,modifiedLanguage:s,originalModelPath:r,modifiedModelPath:o,keepCurrentOriginalModel:a=!1,keepCurrentModifiedModel:l=!1,theme:c="light",loading:d="Loading...",options:u={},height:h="100%",width:f="100%",className:g,wrapperProps:m={},beforeMount:_=xN,onMount:b=xN}){let[v,C]=R.useState(!1),[y,x]=R.useState(!0),S=R.useRef(null),L=R.useRef(null),k=R.useRef(null),N=R.useRef(b),D=R.useRef(_),M=R.useRef(!1);r_e(()=>{let A=EX.init();return A.then(z=>(L.current=z)&&x(!1)).catch(z=>(z==null?void 0:z.type)!=="cancelation"&&console.error("Monaco initialization: error:",z)),()=>S.current?O():A.cancel()}),kc(()=>{if(S.current&&L.current){let A=S.current.getOriginalEditor(),z=py(L.current,n||"",i||t||"text",r||"");z!==A.getModel()&&A.setModel(z)}},[r],v),kc(()=>{if(S.current&&L.current){let A=S.current.getModifiedEditor(),z=py(L.current,e||"",s||t||"text",o||"");z!==A.getModel()&&A.setModel(z)}},[o],v),kc(()=>{let A=S.current.getModifiedEditor();A.getOption(L.current.editor.EditorOption.readOnly)?A.setValue(e||""):e!==A.getValue()&&(A.executeEdits("",[{range:A.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),A.pushUndoStop())},[e],v),kc(()=>{var A,z;(z=(A=S.current)==null?void 0:A.getModel())==null||z.original.setValue(n||"")},[n],v),kc(()=>{let{original:A,modified:z}=S.current.getModel();L.current.editor.setModelLanguage(A,i||t||"text"),L.current.editor.setModelLanguage(z,s||t||"text")},[t,i,s],v),kc(()=>{var A;(A=L.current)==null||A.editor.setTheme(c)},[c],v),kc(()=>{var A;(A=S.current)==null||A.updateOptions(u)},[u],v);let P=R.useCallback(()=>{var U;if(!L.current)return;D.current(L.current);let A=py(L.current,n||"",i||t||"text",r||""),z=py(L.current,e||"",s||t||"text",o||"");(U=S.current)==null||U.setModel({original:A,modified:z})},[t,e,s,n,i,r,o]),V=R.useCallback(()=>{var A;!M.current&&k.current&&(S.current=L.current.editor.createDiffEditor(k.current,{automaticLayout:!0,...u}),P(),(A=L.current)==null||A.editor.setTheme(c),C(!0),M.current=!0)},[u,c,P]);R.useEffect(()=>{v&&N.current(S.current,L.current)},[v]),R.useEffect(()=>{!y&&!v&&V()},[y,v,V]);function O(){var z,U,W,F;let A=(z=S.current)==null?void 0:z.getModel();a||((U=A==null?void 0:A.original)==null||U.dispose()),l||((W=A==null?void 0:A.modified)==null||W.dispose()),(F=S.current)==null||F.dispose()}return y_.createElement(s_e,{width:f,height:h,isEditorReady:v,loading:d,_ref:k,className:g,wrapperProps:m})}var WOe=BOe;R.memo(WOe);function HOe(n){let e=R.useRef();return R.useEffect(()=>{e.current=n},[n]),e.current}var VOe=HOe,K2=new Map;function jOe({defaultValue:n,defaultLanguage:e,defaultPath:t,value:i,language:s,path:r,theme:o="light",line:a,loading:l="Loading...",options:c={},overrideServices:d={},saveViewState:u=!0,keepCurrentModel:h=!1,width:f="100%",height:g="100%",className:m,wrapperProps:_={},beforeMount:b=xN,onMount:v=xN,onChange:C,onValidate:y=xN}){let[x,S]=R.useState(!1),[L,k]=R.useState(!0),N=R.useRef(null),D=R.useRef(null),M=R.useRef(null),P=R.useRef(v),V=R.useRef(b),O=R.useRef(),A=R.useRef(i),z=VOe(r),U=R.useRef(!1),W=R.useRef(!1);r_e(()=>{let Q=EX.init();return Q.then(J=>(N.current=J)&&k(!1)).catch(J=>(J==null?void 0:J.type)!=="cancelation"&&console.error("Monaco initialization: error:",J)),()=>D.current?q():Q.cancel()}),kc(()=>{var J,oe,pe,ke;let Q=py(N.current,n||i||"",e||s||"",r||t||"");Q!==((J=D.current)==null?void 0:J.getModel())&&(u&&K2.set(z,(oe=D.current)==null?void 0:oe.saveViewState()),(pe=D.current)==null||pe.setModel(Q),u&&((ke=D.current)==null||ke.restoreViewState(K2.get(r))))},[r],x),kc(()=>{var Q;(Q=D.current)==null||Q.updateOptions(c)},[c],x),kc(()=>{!D.current||i===void 0||(D.current.getOption(N.current.editor.EditorOption.readOnly)?D.current.setValue(i):i!==D.current.getValue()&&(W.current=!0,D.current.executeEdits("",[{range:D.current.getModel().getFullModelRange(),text:i,forceMoveMarkers:!0}]),D.current.pushUndoStop(),W.current=!1))},[i],x),kc(()=>{var J,oe;let Q=(J=D.current)==null?void 0:J.getModel();Q&&s&&((oe=N.current)==null||oe.editor.setModelLanguage(Q,s))},[s],x),kc(()=>{var Q;a!==void 0&&((Q=D.current)==null||Q.revealLine(a))},[a],x),kc(()=>{var Q;(Q=N.current)==null||Q.editor.setTheme(o)},[o],x);let F=R.useCallback(()=>{var Q;if(!(!M.current||!N.current)&&!U.current){V.current(N.current);let J=r||t,oe=py(N.current,i||n||"",e||s||"",J||"");D.current=(Q=N.current)==null?void 0:Q.editor.create(M.current,{model:oe,automaticLayout:!0,...c},d),u&&D.current.restoreViewState(K2.get(J)),N.current.editor.setTheme(o),a!==void 0&&D.current.revealLine(a),S(!0),U.current=!0}},[n,e,t,i,s,r,c,d,u,o,a]);R.useEffect(()=>{x&&P.current(D.current,N.current)},[x]),R.useEffect(()=>{!L&&!x&&F()},[L,x,F]),A.current=i,R.useEffect(()=>{var Q,J;x&&C&&((Q=O.current)==null||Q.dispose(),O.current=(J=D.current)==null?void 0:J.onDidChangeModelContent(oe=>{W.current||C(D.current.getValue(),oe)}))},[x,C]),R.useEffect(()=>{if(x){let Q=N.current.editor.onDidChangeMarkers(J=>{var pe;let oe=(pe=D.current.getModel())==null?void 0:pe.uri;if(oe&&J.find(ke=>ke.path===oe.path)){let ke=N.current.editor.getModelMarkers({resource:oe});y==null||y(ke)}});return()=>{Q==null||Q.dispose()}}return()=>{}},[x,y]);function q(){var Q,J;(Q=O.current)==null||Q.dispose(),h?u&&K2.set(r,D.current.saveViewState()):(J=D.current.getModel())==null||J.dispose(),D.current.dispose()}return y_.createElement(s_e,{width:f,height:g,isEditorReady:x,loading:l,_ref:M,className:m,wrapperProps:_})}var zOe=jOe,$Oe=R.memo(zOe),UOe=$Oe;function qOe(n){if(n.length===0)throw new Error("Invalid tail call");return[n.slice(0,n.length-1),n[n.length-1]]}function on(n,e,t=(i,s)=>i===s){if(n===e)return!0;if(!n||!e||n.length!==e.length)return!1;for(let i=0,s=n.length;it(n[i],e))}function IX(n,e){let t=0,i=n-1;for(;t<=i;){const s=(t+i)/2|0,r=e(s);if(r<0)t=s+1;else if(r>0)i=s-1;else return s}return-(t+1)}function KH(n,e,t){if(n=n|0,n>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],s=[],r=[],o=[];for(const a of e){const l=t(a,i);l<0?s.push(a):l>0?r.push(a):o.push(a)}return n!!e)}function $ne(n){let e=0;for(let t=0;t0}function Ep(n,e=t=>t){const t=new Set;return n.filter(i=>{const s=e(i);return t.has(s)?!1:(t.add(s),!0)})}function jo(n,e){let t=typeof e=="number"?n:0;typeof e=="number"?t=n:(t=0,e=n);const i=[];if(t<=e)for(let s=t;se;s--)i.push(s);return i}function u8(n,e,t){const i=n.slice(0,e),s=n.slice(e);return i.concat(t,s)}function X6(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.unshift(e))}function G2(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.push(e))}function GH(n,e){for(const t of e)n.push(t)}function YOe(n,e){const t=[];for(const i of n){const s=e(i);s!==void 0&&t.push(s)}return t}function TX(n){return Array.isArray(n)?n:[n]}function XOe(n,e,t){const i=c_e(n,e),s=n.length,r=t.length;n.length=s+r;for(let o=s-1;o>=i;o--)n[o+r]=n[o];for(let o=0;o0}n.isGreaterThan=i;function s(r){return r===0}n.isNeitherLessOrGreaterThan=s,n.greaterThan=1,n.lessThan=-1,n.neitherLessOrGreaterThan=0})(R_||(R_={}));function Ur(n,e){return(t,i)=>e(n(t),n(i))}function ZOe(...n){return(e,t)=>{for(const i of n){const s=i(e,t);if(!R_.isNeitherLessOrGreaterThan(s))return s}return R_.neitherLessOrGreaterThan}}const ol=(n,e)=>n-e,d_e=(n,e)=>ol(n?1:0,e?1:0);function u_e(n){return(e,t)=>-n(e,t)}function QOe(n){return(e,t)=>e===void 0?t===void 0?R_.neitherLessOrGreaterThan:R_.lessThan:t===void 0?R_.greaterThan:n(e,t)}class Ip{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}const Vy=class Vy{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new Vy(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new Vy(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(s=>((i||R_.isGreaterThan(e(s,t)))&&(i=!1,t=s),!0)),t}};Vy.empty=new Vy(e=>{});let I1=Vy;class kP{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((s,r)=>t(e[s],e[r]));return new kP(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;te+t,0)}class JOe{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?CS.isErrorNoTelemetry(e)?new CS(e.message+` `+e.stack):new Error(e.message+` -`+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const sZ=new COe;function oP(n){sZ.onUnexpectedError(n)}function ht(n){rc(n)||sZ.onUnexpectedError(n)}function gs(n){rc(n)||sZ.onUnexpectedExternalError(n)}function yH(n){if(n instanceof Error){const{name:e,message:t,cause:i}=n,s=n.stacktrace||n.stack;return{$isError:!0,name:e,message:t,stack:s,noTelemetry:ix.isErrorNoTelemetry(n),cause:i?yH(i):void 0,code:n.code}}return n}const rP="Canceled";function rc(n){return n instanceof jc?!0:n instanceof Error&&n.name===rP&&n.message===rP}class jc extends Error{constructor(){super(rP),this.name=this.message}}function yOe(){const n=new Error(rP);return n.name=n.message,n}function Oc(n){return n?new Error(`Illegal argument: ${n}`):new Error("Illegal argument")}function aP(n){return n?new Error(`Illegal state: ${n}`):new Error("Illegal state")}class SOe extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class ix extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof ix)return e;const t=new ix;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Qe extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Qe.prototype)}}function L6(n,e){if(!n)throw new Error(e?`Assertion failed (${e})`:"Assertion Failed")}function XD(n,e="Unreachable"){throw new Error(e)}function qE(n,e="unexpected state"){if(!n)throw typeof e=="string"?new Qe(`Assertion Failed: ${e}`):e}function _ne(n,e="Soft Assertion Failed"){n||ht(new Qe(e))}function G_(n){if(!n()){debugger;n(),ht(new Qe("Assertion Failed"))}}function QD(n,e){let t=0;for(;t"u"}function co(n){return!kc(n)}function kc(n){return dr(n)||n===null}function Gt(n,e){if(!n)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function jm(n){return qE(n!=null,"Argument is `undefined` or `null`."),n}function P0(n){return typeof n=="function"}function kOe(n,e){const t=Math.min(n.length,e.length);for(let i=0;i{e[t]=i&&typeof i=="object"?Mh(i):i}),e}function EOe(n){if(!n||typeof n!="object")return n;const e=[n];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(Dme.call(t,i)){const s=t[i];typeof s=="object"&&!Object.isFrozen(s)&&!LOe(s)&&e.push(s)}}return n}const Dme=Object.prototype.hasOwnProperty;function Tme(n,e){return LH(n,e,new Set)}function LH(n,e,t){if(kc(n))return n;const i=e(n);if(typeof i<"u")return i;if(Array.isArray(n)){const s=[];for(const o of n)s.push(LH(o,e,t));return s}if(As(n)){if(t.has(n))throw new Error("Cannot clone recursive data-structure");t.add(n);const s={};for(const o in n)Dme.call(n,o)&&(s[o]=LH(n[o],e,t));return t.delete(n),s}return n}function j3(n,e,t=!0){return As(n)?(As(e)&&Object.keys(e).forEach(i=>{i in n?t&&(As(n[i])&&As(e[i])?j3(n[i],e[i],t):n[i]=e[i]):n[i]=e[i]}),n):e}function ll(n,e){if(n===e)return!0;if(n==null||e===null||e===void 0||typeof n!=typeof e||typeof n!="object"||Array.isArray(n)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(t=0;t=0;function lP(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,(i,s)=>{const o=s[0],r=e[o];let a=i;return typeof r=="string"?a=r:(typeof r=="number"||typeof r=="boolean"||r===void 0||r===null)&&(a=String(r)),a}),IOe&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function w(n,e,...t){return lP(typeof n=="number"?Mme(n,e):e,t)}function Mme(n,e){var i;const t=(i=Rme())==null?void 0:i[n];if(typeof t!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${n} !!!`)}return t}function te(n,e,...t){let i;typeof n=="number"?i=Mme(n,e):i=e;const s=lP(i,t);return{value:s,original:e===i?s:lP(e,t)}}const jv="en";let KE=!1,GE=!1,iN=!1,Ame=!1,rZ=!1,aZ=!1,Pme=!1,N2,LM=jv,bne=jv,DOe,tu;const tp=globalThis;let xr;var Gue;typeof tp.vscode<"u"&&typeof tp.vscode.process<"u"?xr=tp.vscode.process:typeof process<"u"&&typeof((Gue=process==null?void 0:process.versions)==null?void 0:Gue.node)=="string"&&(xr=process);var Yue;const TOe=typeof((Yue=xr==null?void 0:xr.versions)==null?void 0:Yue.electron)=="string",ROe=TOe&&(xr==null?void 0:xr.type)==="renderer";var Zue;if(typeof xr=="object"){KE=xr.platform==="win32",GE=xr.platform==="darwin",iN=xr.platform==="linux",iN&&xr.env.SNAP&&xr.env.SNAP_REVISION,xr.env.CI||xr.env.BUILD_ARTIFACTSTAGINGDIRECTORY||xr.env.GITHUB_WORKSPACE,N2=jv,LM=jv;const n=xr.env.VSCODE_NLS_CONFIG;if(n)try{const e=JSON.parse(n);N2=e.userLocale,bne=e.osLocale,LM=e.resolvedLanguage||jv,DOe=(Zue=e.languagePack)==null?void 0:Zue.translationsConfigFile}catch{}Ame=!0}else typeof navigator=="object"&&!ROe?(tu=navigator.userAgent,KE=tu.indexOf("Windows")>=0,GE=tu.indexOf("Macintosh")>=0,aZ=(tu.indexOf("Macintosh")>=0||tu.indexOf("iPad")>=0||tu.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,iN=tu.indexOf("Linux")>=0,Pme=(tu==null?void 0:tu.indexOf("Mobi"))>=0,rZ=!0,LM=oZ()||jv,N2=navigator.language.toLowerCase(),bne=N2):console.error("Unable to resolve platform.");let kM=0;GE?kM=1:KE?kM=3:iN&&(kM=2);const ko=KE,Pt=GE,Ra=iN,Vu=Ame,Sf=rZ,MOe=rZ&&typeof tp.importScripts=="function",AOe=MOe?tp.origin:void 0,zc=aZ,Ome=Pme,k6=kM,uf=tu,POe=LM,OOe=typeof tp.postMessage=="function"&&!tp.importScripts,JD=(()=>{if(OOe){const n=[];tp.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,s=n.length;i{const i=++e;n.push({id:i,callback:t}),tp.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})(),nl=GE||aZ?2:KE?1:3;let vne=!0,wne=!1;function Fme(){if(!wne){wne=!0;const n=new Uint8Array(2);n[0]=1,n[1]=2,vne=new Uint16Array(n.buffer)[0]===513}return vne}const lZ=!!(uf&&uf.indexOf("Chrome")>=0),FOe=!!(uf&&uf.indexOf("Firefox")>=0),BOe=!!(!lZ&&uf&&uf.indexOf("Safari")>=0),Bme=!!(uf&&uf.indexOf("Edg/")>=0),WOe=!!(uf&&uf.indexOf("Android")>=0);function O0(n,e){const t=this;let i=!1,s;return function(){return i||(i=!0,s=n.apply(t,arguments)),s}}var Ht;(function(n){function e(L){return!!L&&typeof L=="object"&&typeof L[Symbol.iterator]=="function"}n.is=e;const t=Object.freeze([]);function i(){return t}n.empty=i;function*s(L){yield L}n.single=s;function o(L){return e(L)?L:s(L)}n.wrap=o;function r(L){return L||t}n.from=r;function*a(L){for(let k=L.length-1;k>=0;k--)yield L[k]}n.reverse=a;function l(L){return!L||L[Symbol.iterator]().next().done===!0}n.isEmpty=l;function c(L){return L[Symbol.iterator]().next().value}n.first=c;function d(L,k){let N=0;for(const T of L)if(k(T,N++))return!0;return!1}n.some=d;function u(L,k){let N=0;for(const T of L)if(!k(T,N++))return!1;return!0}n.every=u;function h(L,k){for(const N of L)if(k(N))return N}n.find=h;function*f(L,k){for(const N of L)k(N)&&(yield N)}n.filter=f;function*g(L,k){let N=0;for(const T of L)yield k(T,N++)}n.map=g;function*p(L,k){let N=0;for(const T of L)yield*k(T,N++)}n.flatMap=p;function*_(...L){for(const k of L)SH(k)?yield*k:yield k}n.concat=_;function b(L,k,N){let T=N;for(const M of L)T=k(T,M);return T}n.reduce=b;function v(L){let k=0;for(const N of L)k++;return k}n.length=v;function*C(L,k,N=L.length){for(k<-L.length&&(k=0),k<0&&(k+=L.length),N<0?N+=L.length:N>L.length&&(N=L.length);k1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function Dd(...n){return We(()=>bi(n))}class HOe{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function We(n){return new HOe(n)}const x5=class x5{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{bi(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Z.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?x5.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};x5.DISABLE_DISPOSED_WARNING=!1;let se=x5;const see=class see{constructor(){this._store=new se,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};see.None=Object.freeze({dispose(){}});let Z=see;class fi{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}}class VOe{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class jOe{constructor(e){this.object=e}dispose(){}}class z3{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{bi(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var s;this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),i||(s=this._store.get(e))==null||s.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))==null||t.dispose(),this._store.delete(e)}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}var $g;let Us=($g=class{constructor(e){this.element=e,this.next=$g.Undefined,this.prev=$g.Undefined}},$g.Undefined=new $g(void 0),$g);class Tr{constructor(){this._first=Us.Undefined,this._last=Us.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Us.Undefined}clear(){let e=this._first;for(;e!==Us.Undefined;){const t=e.next;e.prev=Us.Undefined,e.next=Us.Undefined,e=t}this._first=Us.Undefined,this._last=Us.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new Us(e);if(this._first===Us.Undefined)this._first=i,this._last=i;else if(t){const o=this._last;this._last=i,i.prev=o,o.next=i}else{const o=this._first;this._first=i,i.next=o,o.prev=i}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(i))}}shift(){if(this._first!==Us.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Us.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Us.Undefined&&e.next!==Us.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Us.Undefined&&e.next===Us.Undefined?(this._first=Us.Undefined,this._last=Us.Undefined):e.next===Us.Undefined?(this._last=this._last.prev,this._last.next=Us.Undefined):e.prev===Us.Undefined&&(this._first=this._first.next,this._first.prev=Us.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Us.Undefined;)yield e.element,e=e.next}}const zOe=globalThis.performance.now.bind(globalThis.performance);class io{static create(e){return new io(e)}constructor(e){this._now=e===!1?Date.now:zOe,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}var we;(function(n){n.None=()=>Z.None;function e(P,V){return h(P,()=>{},0,void 0,!0,void 0,V)}n.defer=e;function t(P){return(V,O=null,A)=>{let z=!1,U;return U=P(W=>{if(!z)return U?U.dispose():z=!0,V.call(O,W)},null,A),z&&U.dispose(),U}}n.once=t;function i(P,V){return n.once(n.filter(P,V))}n.onceIf=i;function s(P,V,O){return d((A,z=null,U)=>P(W=>A.call(z,V(W)),null,U),O)}n.map=s;function o(P,V,O){return d((A,z=null,U)=>P(W=>{V(W),A.call(z,W)},null,U),O)}n.forEach=o;function r(P,V,O){return d((A,z=null,U)=>P(W=>V(W)&&A.call(z,W),null,U),O)}n.filter=r;function a(P){return P}n.signal=a;function l(...P){return(V,O=null,A)=>{const z=Dd(...P.map(U=>U(W=>V.call(O,W))));return u(z,A)}}n.any=l;function c(P,V,O,A){let z=O;return s(P,U=>(z=V(z,U),z),A)}n.reduce=c;function d(P,V){let O;const A={onWillAddFirstListener(){O=P(z.fire,z)},onDidRemoveLastListener(){O==null||O.dispose()}},z=new G(A);return V==null||V.add(z),z.event}function u(P,V){return V instanceof Array?V.push(P):V&&V.add(P),P}function h(P,V,O=100,A=!1,z=!1,U,W){let F,q,X,Q=0,oe;const ge={leakWarningThreshold:U,onWillAddFirstListener(){F=P($e=>{Q++,q=V(q,$e),A&&!X&&(ye.fire(q),q=void 0),oe=()=>{const Ze=q;q=void 0,X=void 0,(!A||Q>1)&&ye.fire(Ze),Q=0},typeof O=="number"?(X&&clearTimeout(X),X=setTimeout(oe,O)):X===void 0&&(X=null,queueMicrotask(oe))})},onWillRemoveListener(){z&&Q>0&&(oe==null||oe())},onDidRemoveLastListener(){oe=void 0,F.dispose()}},ye=new G(ge);return W==null||W.add(ye),ye.event}n.debounce=h;function f(P,V=0,O){return n.debounce(P,(A,z)=>A?(A.push(z),A):[z],V,void 0,!0,void 0,O)}n.accumulate=f;function g(P,V=(A,z)=>A===z,O){let A=!0,z;return r(P,U=>{const W=A||!V(U,z);return A=!1,z=U,W},O)}n.latch=g;function p(P,V,O){return[n.filter(P,V,O),n.filter(P,A=>!V(A),O)]}n.split=p;function _(P,V=!1,O=[],A){let z=O.slice(),U=P(q=>{z?z.push(q):F.fire(q)});A&&A.add(U);const W=()=>{z==null||z.forEach(q=>F.fire(q)),z=null},F=new G({onWillAddFirstListener(){U||(U=P(q=>F.fire(q)),A&&A.add(U))},onDidAddFirstListener(){z&&(V?setTimeout(W):W())},onDidRemoveLastListener(){U&&U.dispose(),U=null}});return A&&A.add(F),F.event}n.buffer=_;function b(P,V){return(A,z,U)=>{const W=V(new C);return P(function(F){const q=W.evaluate(F);q!==v&&A.call(z,q)},void 0,U)}}n.chain=b;const v=Symbol("HaltChainable");class C{constructor(){this.steps=[]}map(V){return this.steps.push(V),this}forEach(V){return this.steps.push(O=>(V(O),O)),this}filter(V){return this.steps.push(O=>V(O)?O:v),this}reduce(V,O){let A=O;return this.steps.push(z=>(A=V(A,z),A)),this}latch(V=(O,A)=>O===A){let O=!0,A;return this.steps.push(z=>{const U=O||!V(z,A);return O=!1,A=z,U?z:v}),this}evaluate(V){for(const O of this.steps)if(V=O(V),V===v)break;return V}}function y(P,V,O=A=>A){const A=(...F)=>W.fire(O(...F)),z=()=>P.on(V,A),U=()=>P.removeListener(V,A),W=new G({onWillAddFirstListener:z,onDidRemoveLastListener:U});return W.event}n.fromNodeEventEmitter=y;function S(P,V,O=A=>A){const A=(...F)=>W.fire(O(...F)),z=()=>P.addEventListener(V,A),U=()=>P.removeEventListener(V,A),W=new G({onWillAddFirstListener:z,onDidRemoveLastListener:U});return W.event}n.fromDOMEventEmitter=S;function x(P,V){let O;const A=new Promise((z,U)=>{const W=t(P)(z,null,V);O=()=>W.dispose()});return A.cancel=O,A}n.toPromise=x;function L(P,V){return P(O=>V.fire(O))}n.forward=L;function k(P,V,O){return V(O),P(A=>V(A))}n.runAndSubscribe=k;class N{constructor(V,O){this._observable=V,this._counter=0,this._hasChanged=!1;const A={onWillAddFirstListener:()=>{V.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{V.removeObserver(this)}};this.emitter=new G(A),O&&O.add(this.emitter)}beginUpdate(V){this._counter++}handlePossibleChange(V){}handleChange(V,O){this._hasChanged=!0}endUpdate(V){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function T(P,V){return new N(P,V).emitter.event}n.fromObservable=T;function M(P){return(V,O,A)=>{let z=0,U=!1;const W={beginUpdate(){z++},endUpdate(){z--,z===0&&(P.reportChanges(),U&&(U=!1,V.call(O)))},handlePossibleChange(){},handleChange(){U=!0}};P.addObserver(W),P.reportChanges();const F={dispose(){P.removeObserver(W)}};return A instanceof se?A.add(F):Array.isArray(A)&&A.push(F),F}}n.fromObservableLight=M})(we||(we={}));const wy=class wy{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${wy._idPool++}`,wy.all.add(this)}start(e){this._stopWatch=new io,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};wy.all=new Set,wy._idPool=0;let kH=wy,$Oe=-1;const L5=class L5{constructor(e,t,i=(L5._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var e;(e=this._stacks)==null||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,s]of this._stacks)(!e||t{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const RX=new JOe;function EP(n){RX.onUnexpectedError(n)}function ft(n){rc(n)||RX.onUnexpectedError(n)}function hs(n){rc(n)||RX.onUnexpectedExternalError(n)}function YH(n){if(n instanceof Error){const{name:e,message:t,cause:i}=n,s=n.stacktrace||n.stack;return{$isError:!0,name:e,message:t,stack:s,noTelemetry:CS.isErrorNoTelemetry(n),cause:i?YH(i):void 0,code:n.code}}return n}const IP="Canceled";function rc(n){return n instanceof Kc?!0:n instanceof Error&&n.name===IP&&n.message===IP}class Kc extends Error{constructor(){super(IP),this.name=this.message}}function e4e(){const n=new Error(IP);return n.name=n.message,n}function Vc(n){return n?new Error(`Illegal argument: ${n}`):new Error("Illegal argument")}function DP(n){return n?new Error(`Illegal state: ${n}`):new Error("Illegal state")}class t4e extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class CS extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof CS)return e;const t=new CS;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Qe extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Qe.prototype)}}function Z6(n,e){if(!n)throw new Error(e?`Assertion failed (${e})`:"Assertion Failed")}function vT(n,e="Unreachable"){throw new Error(e)}function gI(n,e="unexpected state"){if(!n)throw typeof e=="string"?new Qe(`Assertion Failed: ${e}`):e}function Une(n,e="Soft Assertion Failed"){n||ft(new Qe(e))}function cb(n){if(!n()){debugger;n(),ft(new Qe("Assertion Failed"))}}function wT(n,e){let t=0;for(;t"u"}function lr(n){return!Tc(n)}function Tc(n){return ao(n)||n===null}function Qt(n,e){if(!n)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function i_(n){return gI(n!=null,"Argument is `undefined` or `null`."),n}function e0(n){return typeof n=="function"}function s4e(n,e){const t=Math.min(n.length,e.length);for(let i=0;i{e[t]=i&&typeof i=="object"?Uh(i):i}),e}function o4e(n){if(!n||typeof n!="object")return n;const e=[n];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(h_e.call(t,i)){const s=t[i];typeof s=="object"&&!Object.isFrozen(s)&&!n4e(s)&&e.push(s)}}return n}const h_e=Object.prototype.hasOwnProperty;function f_e(n,e){return QH(n,e,new Set)}function QH(n,e,t){if(Tc(n))return n;const i=e(n);if(typeof i<"u")return i;if(Array.isArray(n)){const s=[];for(const r of n)s.push(QH(r,e,t));return s}if(Ds(n)){if(t.has(n))throw new Error("Cannot clone recursive data-structure");t.add(n);const s={};for(const r in n)h_e.call(n,r)&&(s[r]=QH(n[r],e,t));return t.delete(n),s}return n}function h8(n,e,t=!0){return Ds(n)?(Ds(e)&&Object.keys(e).forEach(i=>{i in n?t&&(Ds(n[i])&&Ds(e[i])?h8(n[i],e[i],t):n[i]=e[i]):n[i]=e[i]}),n):e}function al(n,e){if(n===e)return!0;if(n==null||e===null||e===void 0||typeof n!=typeof e||typeof n!="object"||Array.isArray(n)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(t=0;t=0;function TP(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,(i,s)=>{const r=s[0],o=e[r];let a=i;return typeof o=="string"?a=o:(typeof o=="number"||typeof o=="boolean"||o===void 0||o===null)&&(a=String(o)),a}),a4e&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function w(n,e,...t){return TP(typeof n=="number"?p_e(n,e):e,t)}function p_e(n,e){var i;const t=(i=g_e())==null?void 0:i[n];if(typeof t!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${n} !!!`)}return t}function se(n,e,...t){let i;typeof n=="number"?i=p_e(n,e):i=e;const s=TP(i,t);return{value:s,original:e===i?s:TP(e,t)}}const r1="en";let pI=!1,mI=!1,SN=!1,m_e=!1,AX=!1,PX=!1,__e=!1,Y2,GM=r1,qne=r1,l4e,au;const hp=globalThis;let wo;var Dhe;typeof hp.vscode<"u"&&typeof hp.vscode.process<"u"?wo=hp.vscode.process:typeof process<"u"&&typeof((Dhe=process==null?void 0:process.versions)==null?void 0:Dhe.node)=="string"&&(wo=process);var The;const c4e=typeof((The=wo==null?void 0:wo.versions)==null?void 0:The.electron)=="string",d4e=c4e&&(wo==null?void 0:wo.type)==="renderer";var Rhe;if(typeof wo=="object"){pI=wo.platform==="win32",mI=wo.platform==="darwin",SN=wo.platform==="linux",SN&&wo.env.SNAP&&wo.env.SNAP_REVISION,wo.env.CI||wo.env.BUILD_ARTIFACTSTAGINGDIRECTORY||wo.env.GITHUB_WORKSPACE,Y2=r1,GM=r1;const n=wo.env.VSCODE_NLS_CONFIG;if(n)try{const e=JSON.parse(n);Y2=e.userLocale,qne=e.osLocale,GM=e.resolvedLanguage||r1,l4e=(Rhe=e.languagePack)==null?void 0:Rhe.translationsConfigFile}catch{}m_e=!0}else typeof navigator=="object"&&!d4e?(au=navigator.userAgent,pI=au.indexOf("Windows")>=0,mI=au.indexOf("Macintosh")>=0,PX=(au.indexOf("Macintosh")>=0||au.indexOf("iPad")>=0||au.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,SN=au.indexOf("Linux")>=0,__e=(au==null?void 0:au.indexOf("Mobi"))>=0,AX=!0,GM=MX()||r1,Y2=navigator.language.toLowerCase(),qne=Y2):console.error("Unable to resolve platform.");let YM=0;mI?YM=1:pI?YM=3:SN&&(YM=2);const xr=pI,At=mI,Ia=SN,Ku=m_e,Af=AX,u4e=AX&&typeof hp.importScripts=="function",h4e=u4e?hp.origin:void 0,Gc=PX,b_e=__e,Q6=YM,yf=au,f4e=GM,g4e=typeof hp.postMessage=="function"&&!hp.importScripts,CT=(()=>{if(g4e){const n=[];hp.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,s=n.length;i{const i=++e;n.push({id:i,callback:t}),hp.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})(),il=mI||PX?2:pI?1:3;let Kne=!0,Gne=!1;function v_e(){if(!Gne){Gne=!0;const n=new Uint8Array(2);n[0]=1,n[1]=2,Kne=new Uint16Array(n.buffer)[0]===513}return Kne}const OX=!!(yf&&yf.indexOf("Chrome")>=0),p4e=!!(yf&&yf.indexOf("Firefox")>=0),m4e=!!(!OX&&yf&&yf.indexOf("Safari")>=0),w_e=!!(yf&&yf.indexOf("Edg/")>=0),_4e=!!(yf&&yf.indexOf("Android")>=0);function t0(n,e){const t=this;let i=!1,s;return function(){return i||(i=!0,s=n.apply(t,arguments)),s}}var Vt;(function(n){function e(L){return!!L&&typeof L=="object"&&typeof L[Symbol.iterator]=="function"}n.is=e;const t=Object.freeze([]);function i(){return t}n.empty=i;function*s(L){yield L}n.single=s;function r(L){return e(L)?L:s(L)}n.wrap=r;function o(L){return L||t}n.from=o;function*a(L){for(let k=L.length-1;k>=0;k--)yield L[k]}n.reverse=a;function l(L){return!L||L[Symbol.iterator]().next().done===!0}n.isEmpty=l;function c(L){return L[Symbol.iterator]().next().value}n.first=c;function d(L,k){let N=0;for(const D of L)if(k(D,N++))return!0;return!1}n.some=d;function u(L,k){let N=0;for(const D of L)if(!k(D,N++))return!1;return!0}n.every=u;function h(L,k){for(const N of L)if(k(N))return N}n.find=h;function*f(L,k){for(const N of L)k(N)&&(yield N)}n.filter=f;function*g(L,k){let N=0;for(const D of L)yield k(D,N++)}n.map=g;function*m(L,k){let N=0;for(const D of L)yield*k(D,N++)}n.flatMap=m;function*_(...L){for(const k of L)XH(k)?yield*k:yield k}n.concat=_;function b(L,k,N){let D=N;for(const M of L)D=k(D,M);return D}n.reduce=b;function v(L){let k=0;for(const N of L)k++;return k}n.length=v;function*C(L,k,N=L.length){for(k<-L.length&&(k=0),k<0&&(k+=L.length),N<0?N+=L.length:N>L.length&&(N=L.length);k1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function Fd(...n){return Ve(()=>gi(n))}class b4e{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function Ve(n){return new b4e(n)}const G5=class G5{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{gi(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Z.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?G5.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};G5.DISABLE_DISPOSED_WARNING=!1;let re=G5;const Aee=class Aee{constructor(){this._store=new re,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Aee.None=Object.freeze({dispose(){}});let Z=Aee;class ci{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}}class v4e{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class w4e{constructor(e){this.object=e}dispose(){}}class f8{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{gi(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var s;this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),i||(s=this._store.get(e))==null||s.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))==null||t.dispose(),this._store.delete(e)}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}var tp;let zs=(tp=class{constructor(e){this.element=e,this.next=tp.Undefined,this.prev=tp.Undefined}},tp.Undefined=new tp(void 0),tp);class No{constructor(){this._first=zs.Undefined,this._last=zs.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===zs.Undefined}clear(){let e=this._first;for(;e!==zs.Undefined;){const t=e.next;e.prev=zs.Undefined,e.next=zs.Undefined,e=t}this._first=zs.Undefined,this._last=zs.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new zs(e);if(this._first===zs.Undefined)this._first=i,this._last=i;else if(t){const r=this._last;this._last=i,i.prev=r,r.next=i}else{const r=this._first;this._first=i,i.next=r,r.prev=i}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(i))}}shift(){if(this._first!==zs.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==zs.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==zs.Undefined&&e.next!==zs.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===zs.Undefined&&e.next===zs.Undefined?(this._first=zs.Undefined,this._last=zs.Undefined):e.next===zs.Undefined?(this._last=this._last.prev,this._last.next=zs.Undefined):e.prev===zs.Undefined&&(this._first=this._first.next,this._first.prev=zs.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==zs.Undefined;)yield e.element,e=e.next}}const C4e=globalThis.performance.now.bind(globalThis.performance);class er{static create(e){return new er(e)}constructor(e){this._now=e===!1?Date.now:C4e,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}var ye;(function(n){n.None=()=>Z.None;function e(P,V){return h(P,()=>{},0,void 0,!0,void 0,V)}n.defer=e;function t(P){return(V,O=null,A)=>{let z=!1,U;return U=P(W=>{if(!z)return U?U.dispose():z=!0,V.call(O,W)},null,A),z&&U.dispose(),U}}n.once=t;function i(P,V){return n.once(n.filter(P,V))}n.onceIf=i;function s(P,V,O){return d((A,z=null,U)=>P(W=>A.call(z,V(W)),null,U),O)}n.map=s;function r(P,V,O){return d((A,z=null,U)=>P(W=>{V(W),A.call(z,W)},null,U),O)}n.forEach=r;function o(P,V,O){return d((A,z=null,U)=>P(W=>V(W)&&A.call(z,W),null,U),O)}n.filter=o;function a(P){return P}n.signal=a;function l(...P){return(V,O=null,A)=>{const z=Fd(...P.map(U=>U(W=>V.call(O,W))));return u(z,A)}}n.any=l;function c(P,V,O,A){let z=O;return s(P,U=>(z=V(z,U),z),A)}n.reduce=c;function d(P,V){let O;const A={onWillAddFirstListener(){O=P(z.fire,z)},onDidRemoveLastListener(){O==null||O.dispose()}},z=new Y(A);return V==null||V.add(z),z.event}function u(P,V){return V instanceof Array?V.push(P):V&&V.add(P),P}function h(P,V,O=100,A=!1,z=!1,U,W){let F,q,Q,J=0,oe;const pe={leakWarningThreshold:U,onWillAddFirstListener(){F=P($e=>{J++,q=V(q,$e),A&&!Q&&(ke.fire(q),q=void 0),oe=()=>{const Xe=q;q=void 0,Q=void 0,(!A||J>1)&&ke.fire(Xe),J=0},typeof O=="number"?(Q&&clearTimeout(Q),Q=setTimeout(oe,O)):Q===void 0&&(Q=null,queueMicrotask(oe))})},onWillRemoveListener(){z&&J>0&&(oe==null||oe())},onDidRemoveLastListener(){oe=void 0,F.dispose()}},ke=new Y(pe);return W==null||W.add(ke),ke.event}n.debounce=h;function f(P,V=0,O){return n.debounce(P,(A,z)=>A?(A.push(z),A):[z],V,void 0,!0,void 0,O)}n.accumulate=f;function g(P,V=(A,z)=>A===z,O){let A=!0,z;return o(P,U=>{const W=A||!V(U,z);return A=!1,z=U,W},O)}n.latch=g;function m(P,V,O){return[n.filter(P,V,O),n.filter(P,A=>!V(A),O)]}n.split=m;function _(P,V=!1,O=[],A){let z=O.slice(),U=P(q=>{z?z.push(q):F.fire(q)});A&&A.add(U);const W=()=>{z==null||z.forEach(q=>F.fire(q)),z=null},F=new Y({onWillAddFirstListener(){U||(U=P(q=>F.fire(q)),A&&A.add(U))},onDidAddFirstListener(){z&&(V?setTimeout(W):W())},onDidRemoveLastListener(){U&&U.dispose(),U=null}});return A&&A.add(F),F.event}n.buffer=_;function b(P,V){return(A,z,U)=>{const W=V(new C);return P(function(F){const q=W.evaluate(F);q!==v&&A.call(z,q)},void 0,U)}}n.chain=b;const v=Symbol("HaltChainable");class C{constructor(){this.steps=[]}map(V){return this.steps.push(V),this}forEach(V){return this.steps.push(O=>(V(O),O)),this}filter(V){return this.steps.push(O=>V(O)?O:v),this}reduce(V,O){let A=O;return this.steps.push(z=>(A=V(A,z),A)),this}latch(V=(O,A)=>O===A){let O=!0,A;return this.steps.push(z=>{const U=O||!V(z,A);return O=!1,A=z,U?z:v}),this}evaluate(V){for(const O of this.steps)if(V=O(V),V===v)break;return V}}function y(P,V,O=A=>A){const A=(...F)=>W.fire(O(...F)),z=()=>P.on(V,A),U=()=>P.removeListener(V,A),W=new Y({onWillAddFirstListener:z,onDidRemoveLastListener:U});return W.event}n.fromNodeEventEmitter=y;function x(P,V,O=A=>A){const A=(...F)=>W.fire(O(...F)),z=()=>P.addEventListener(V,A),U=()=>P.removeEventListener(V,A),W=new Y({onWillAddFirstListener:z,onDidRemoveLastListener:U});return W.event}n.fromDOMEventEmitter=x;function S(P,V){let O;const A=new Promise((z,U)=>{const W=t(P)(z,null,V);O=()=>W.dispose()});return A.cancel=O,A}n.toPromise=S;function L(P,V){return P(O=>V.fire(O))}n.forward=L;function k(P,V,O){return V(O),P(A=>V(A))}n.runAndSubscribe=k;class N{constructor(V,O){this._observable=V,this._counter=0,this._hasChanged=!1;const A={onWillAddFirstListener:()=>{V.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{V.removeObserver(this)}};this.emitter=new Y(A),O&&O.add(this.emitter)}beginUpdate(V){this._counter++}handlePossibleChange(V){}handleChange(V,O){this._hasChanged=!0}endUpdate(V){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function D(P,V){return new N(P,V).emitter.event}n.fromObservable=D;function M(P){return(V,O,A)=>{let z=0,U=!1;const W={beginUpdate(){z++},endUpdate(){z--,z===0&&(P.reportChanges(),U&&(U=!1,V.call(O)))},handlePossibleChange(){},handleChange(){U=!0}};P.addObserver(W),P.reportChanges();const F={dispose(){P.removeObserver(W)}};return A instanceof re?A.add(F):Array.isArray(A)&&A.push(F),F}}n.fromObservableLight=M})(ye||(ye={}));const jy=class jy{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${jy._idPool++}`,jy.all.add(this)}start(e){this._stopWatch=new er,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};jy.all=new Set,jy._idPool=0;let JH=jy,y4e=-1;const Y5=class Y5{constructor(e,t,i=(Y5._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var e;(e=this._stacks)==null||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const r=this._stacks.get(e.value)||0;this._stacks.set(e.value,r-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,s]of this._stacks)(!e||t{var a,l,c,d,u,h,f;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const g=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(g);const p=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],_=new qOe(`${g}. HINT: Stack shows most frequent listener (${p[1]}-times)`,p[0]);return(((a=this._options)==null?void 0:a.onListenerError)||ht)(_),Z.None}if(this._disposed)return Z.None;t&&(e=e.bind(t));const s=new N6(e);let o;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(s.stack=cZ.create(),o=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof N6?(this._deliveryQueue??(this._deliveryQueue=new Wme),this._listeners=[this._listeners,s]):this._listeners.push(s):((c=(l=this._options)==null?void 0:l.onWillAddFirstListener)==null||c.call(l,this),this._listeners=s,(u=(d=this._options)==null?void 0:d.onDidAddFirstListener)==null||u.call(d,this)),(f=(h=this._options)==null?void 0:h.onDidAddListener)==null||f.call(h,this),this._size++;const r=We(()=>{o==null||o(),this._removeListener(s)});return i instanceof se?i.add(r):Array.isArray(i)&&i.push(r),r}),this._event}_removeListener(e){var o,r,a,l;if((r=(o=this._options)==null?void 0:o.onWillRemoveListener)==null||r.call(o,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(l=(a=this._options)==null?void 0:a.onDidRemoveLastListener)==null||l.call(a,this),this._size=0;return}const t=this._listeners,i=t.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;const s=this._deliveryQueue.current===this;if(this._size*KOe<=t.length){let c=0;for(let d=0;d0}};const GOe=()=>new Wme;class Wme{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class F0 extends G{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Tr,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class Hme extends F0{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class YOe extends G{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class ZOe{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new G({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),We(O0(()=>{this.hasListeners&&this.unhook(t);const s=this.events.indexOf(t);this.events.splice(s,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){var t;(t=e.listener)==null||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)==null||e.dispose();this.events=[]}}class eT{constructor(){this.data=[]}wrapEvent(e,t,i){return(s,o,r)=>e(a=>{const l=this.data[this.data.length-1];if(!t){l?l.buffers.push(()=>s.call(o,a)):s.call(o,a);return}const c=l;if(!c){s.call(o,t(i,a));return}c.items??(c.items=[]),c.items.push(a),c.buffers.length===0&&l.buffers.push(()=>{c.reducedResult??(c.reducedResult=i?c.items.reduce(t,i):c.items.reduce(t)),s.call(o,c.reducedResult)})},void 0,r)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach(s=>s()),i}}class TL{constructor(){this.listening=!1,this.inputEvent=we.None,this.inputEventListener=Z.None,this.emitter=new G({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const Nc=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new G,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(n){n=Math.min(Math.max(-5,n),20),this._zoomLevel!==n&&(this._zoomLevel=n,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},XOe=Pt?1.5:1.35,E6=8;class B0{static _create(e,t,i,s,o,r,a,l,c){r===0?r=XOe*i:r/?";function i4e(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of dP)n.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const dZ=i4e();function uZ(n){let e=dZ;if(n&&n instanceof RegExp)if(n.global)e=n;else{let t="g";n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.unicode&&(t+="u"),e=new RegExp(n.source,t)}return e.lastIndex=0,e}const zme=new Tr;zme.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function YE(n,e,t,i,s){if(e=uZ(e),s||(s=Ht.first(zme)),t.length>s.maxLen){let c=n-s.maxLen/2;return c<0?c=0:i+=c,t=t.substring(c,n+s.maxLen/2),YE(n,e,t,i,s)}const o=Date.now(),r=n-1-i;let a=-1,l=null;for(let c=1;!(Date.now()-o>=s.timeBudget);c++){const d=r-s.windowSize*c;e.lastIndex=Math.max(0,d);const u=n4e(e,t,r,a);if(!u&&l||(l=u,d<=0))break;a=d}if(l){const c={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,c}return null}function n4e(n,e,t,i){let s;for(;s=n.exec(e);){const o=s.index||0;if(o<=t&&n.lastIndex>=t)return s;if(i>0&&o>i)return null}return null}const ph=8;class $me{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class Ume{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class yn{constructor(e,t,i,s){this.id=e,this.name=t,this.defaultValue=i,this.schema=s}applyUpdate(e,t){return $3(e,t)}compute(e,t,i){return i}}class nN{constructor(e,t){this.newValue=e,this.didChange=t}}function $3(n,e){if(typeof n!="object"||typeof e!="object"||!n||!e)return new nN(e,n!==e);if(Array.isArray(n)||Array.isArray(e)){const i=Array.isArray(n)&&Array.isArray(e)&&gn(n,e);return new nN(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const s=$3(n[i],e[i]);s.didChange&&(n[i]=s.newValue,t=!0)}return new nN(n,t)}class mb{constructor(e,t){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=t}applyUpdate(e,t){return $3(e,t)}validate(e){return this.defaultValue}}class $x{constructor(e,t,i,s){this.id=e,this.name=t,this.defaultValue=i,this.schema=s}applyUpdate(e,t){return $3(e,t)}compute(e,t,i){return i}}function Ge(n,e){return typeof n>"u"?e:n==="false"?!1:!!n}class Rt extends $x{constructor(e,t,i,s=void 0){typeof s<"u"&&(s.type="boolean",s.default=i),super(e,t,i,s)}validate(e){return Ge(e,this.defaultValue)}}function _g(n,e,t,i){if(typeof n=="string"&&(n=parseInt(n,10)),typeof n!="number"||isNaN(n))return e;let s=n;return s=Math.max(t,s),s=Math.min(i,s),s|0}class ki extends $x{static clampedInt(e,t,i,s){return _g(e,t,i,s)}constructor(e,t,i,s,o,r=void 0){typeof r<"u"&&(r.type="integer",r.default=i,r.minimum=s,r.maximum=o),super(e,t,i,r),this.minimum=s,this.maximum=o}validate(e){return ki.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function s4e(n,e,t,i){if(typeof n>"u")return e;const s=Na.float(n,e);return Na.clamp(s,t,i)}class Na extends $x{static clamp(e,t,i){return ei?i:e}static float(e,t){return typeof e=="string"&&(e=parseFloat(e)),typeof e!="number"||isNaN(e)?t:e}constructor(e,t,i,s,o,r,a){typeof o<"u"&&(o.type="number",o.default=i,o.minimum=r,o.maximum=a),super(e,t,i,o),this.validationFn=s,this.minimum=r,this.maximum=a}validate(e){return this.validationFn(Na.float(e,this.defaultValue))}}class Nr extends $x{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,s=void 0){typeof s<"u"&&(s.type="string",s.default=i),super(e,t,i,s)}validate(e){return Nr.string(e,this.defaultValue)}}function nn(n,e,t,i){return typeof n!="string"?e:i&&n in i?i[n]:t.indexOf(n)===-1?e:n}class wn extends $x{constructor(e,t,i,s,o=void 0){typeof o<"u"&&(o.type="string",o.enum=s.slice(0),o.default=i),super(e,t,i,o),this._allowedValues=s}validate(e){return nn(e,this.defaultValue,this._allowedValues)}}class RL extends yn{constructor(e,t,i,s,o,r,a=void 0){typeof a<"u"&&(a.type="string",a.enum=o,a.default=s),super(e,t,i,a),this._allowedValues=o,this._convert=r}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function o4e(n){switch(n){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class r4e extends yn{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[w(201,"Use platform APIs to detect when a Screen Reader is attached."),w(202,"Optimize for usage with a Screen Reader."),w(203,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:w(204,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class a4e extends yn{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:w(205,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:w(206,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:Ge(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:Ge(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function l4e(n){switch(n){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var Gs;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(Gs||(Gs={}));function Cne(n){switch(n){case"line":return Gs.Line;case"block":return Gs.Block;case"underline":return Gs.Underline;case"line-thin":return Gs.LineThin;case"block-outline":return Gs.BlockOutline;case"underline-thin":return Gs.UnderlineThin}}class c4e extends mb{constructor(){super(162,"")}compute(e,t,i){const s=["monaco-editor"];return t.get(48)&&s.push(t.get(48)),e.extraEditorClassName&&s.push(e.extraEditorClassName),t.get(82)==="default"?s.push("mouse-default"):t.get(82)==="copy"&&s.push("mouse-copy"),t.get(127)&&s.push("showUnused"),t.get(157)&&s.push("showDeprecated"),s.join(" ")}}class d4e extends Rt{constructor(){super(45,"emptySelectionClipboard",!0,{description:w(207,"Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class u4e extends yn{constructor(){const e={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,history:"workspace",replaceHistory:"workspace"};super(50,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:w(208,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[w(209,"Never seed search string from the editor selection."),w(210,"Always seed search string from the editor selection, including word at cursor position."),w(211,"Only seed search string from the editor selection.")],description:w(212,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[w(213,"Never turn on Find in Selection automatically (default)."),w(214,"Always turn on Find in Selection automatically."),w(215,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:w(216,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:w(217,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:Pt},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:w(218,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:w(219,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[w(220,"Do not store search history from the find widget."),w(221,"Store search history across the active workspace")],description:w(222,"Controls how the find widget history should be stored")},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[w(223,"Do not store history from the replace widget."),w(224,"Store replace history across the active workspace")],description:w(225,"Controls how the replace widget history should be stored")},"editor.find.findOnType":{type:"boolean",default:e.findOnType,description:w(226,"Controls whether the Find Widget should search as you type.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:Ge(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:Ge(t.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof t.seedSearchStringFromSelection=="boolean"?t.seedSearchStringFromSelection?"always":"never":nn(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof t.autoFindInSelection=="boolean"?t.autoFindInSelection?"always":"never":nn(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:Ge(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:Ge(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:Ge(t.loop,this.defaultValue.loop),history:nn(t.history,this.defaultValue.history,["never","workspace"]),replaceHistory:nn(t.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}}}const ug=class ug extends yn{constructor(){super(60,"fontLigatures",ug.OFF,{anyOf:[{type:"boolean",description:w(227,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:w(228,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:w(229,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?ug.OFF:e==="true"?ug.ON:e:e?ug.ON:ug.OFF}};ug.OFF='"liga" off, "calt" off',ug.ON='"liga" on, "calt" on';let wp=ug;const hg=class hg extends yn{constructor(){super(63,"fontVariations",hg.OFF,{anyOf:[{type:"boolean",description:w(230,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:w(231,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:w(232,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?hg.OFF:e==="true"?hg.TRANSLATE:e:e?hg.TRANSLATE:hg.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}};hg.OFF=Vme,hg.TRANSLATE=jme;let EH=hg;class h4e extends mb{constructor(){super(59,new cP({pixelRatio:0,fontFamily:"",fontWeight:"",fontSize:0,fontFeatureSettings:"",fontVariationSettings:"",lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(e,t,i){return e.fontInfo}}class f4e extends mb{constructor(){super(161,Gs.Line)}compute(e,t,i){return e.inputMode==="overtype"?t.get(92):t.get(34)}}class g4e extends mb{constructor(){super(170,!1)}compute(e,t){return e.editContextSupported&&t.get(44)}}class p4e extends mb{constructor(){super(172,!1)}compute(e,t){return e.accessibilitySupport===2?t.get(7):t.get(6)}}class m4e extends $x{constructor(){super(61,"fontSize",Ia.fontSize,{type:"number",minimum:6,maximum:100,default:Ia.fontSize,description:w(233,"Controls the font size in pixels.")})}validate(e){const t=Na.float(e,this.defaultValue);return t===0?Ia.fontSize:Na.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}const Sh=class Sh extends yn{constructor(){super(62,"fontWeight",Ia.fontWeight,{anyOf:[{type:"number",minimum:Sh.MINIMUM_VALUE,maximum:Sh.MAXIMUM_VALUE,errorMessage:w(234,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Sh.SUGGESTION_VALUES}],default:Ia.fontWeight,description:w(235,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(ki.clampedInt(e,Ia.fontWeight,Sh.MINIMUM_VALUE,Sh.MAXIMUM_VALUE))}};Sh.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Sh.MINIMUM_VALUE=1,Sh.MAXIMUM_VALUE=1e3;let IH=Sh;class _4e extends yn{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[w(236,"Show Peek view of the results (default)"),w(237,"Go to the primary result and show a Peek view"),w(238,"Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(67,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:w(239,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:w(240,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:w(241,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:w(242,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:w(243,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:w(244,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:w(245,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:w(246,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:w(247,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:w(248,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:w(249,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{multiple:nn(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:nn(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:nn(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:nn(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:nn(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:nn(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:nn(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:Nr.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:Nr.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:Nr.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:Nr.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:Nr.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:Nr.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class b4e extends yn{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(69,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:w(250,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:w(251,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:w(252,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,markdownDescription:w(253,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:w(254,"Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ge(t.enabled,this.defaultValue.enabled),delay:ki.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:Ge(t.sticky,this.defaultValue.sticky),hidingDelay:ki.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:Ge(t.above,this.defaultValue.above)}}}class Uy extends mb{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(e,t,i){return Uy.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let s=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(s=Math.max(s,t-1));const o=(i+e.viewLineCount+s)/(e.pixelRatio*e.height),r=Math.floor(e.viewLineCount/o);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:s,desiredRatio:o,minimapLineCount:r}}static _computeMinimapLayout(e,t){const i=e.outerWidth,s=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*s),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:s};const r=t.stableMinimapLayoutInput,a=r&&e.outerHeight===r.outerHeight&&e.lineHeight===r.lineHeight&&e.typicalHalfwidthCharacterWidth===r.typicalHalfwidthCharacterWidth&&e.pixelRatio===r.pixelRatio&&e.scrollBeyondLastLine===r.scrollBeyondLastLine&&e.paddingTop===r.paddingTop&&e.paddingBottom===r.paddingBottom&&e.minimap.enabled===r.minimap.enabled&&e.minimap.side===r.minimap.side&&e.minimap.size===r.minimap.size&&e.minimap.showSlider===r.minimap.showSlider&&e.minimap.renderCharacters===r.minimap.renderCharacters&&e.minimap.maxColumn===r.minimap.maxColumn&&e.minimap.scale===r.minimap.scale&&e.verticalScrollbarWidth===r.verticalScrollbarWidth&&e.isViewportWrapping===r.isViewportWrapping,l=e.lineHeight,c=e.typicalHalfwidthCharacterWidth,d=e.scrollBeyondLastLine,u=e.minimap.renderCharacters;let h=o>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const f=e.minimap.maxColumn,g=e.minimap.size,p=e.minimap.side,_=e.verticalScrollbarWidth,b=e.viewLineCount,v=e.remainingWidth,C=e.isViewportWrapping,y=u?2:3;let S=Math.floor(o*s);const x=S/o;let L=!1,k=!1,N=y*h,T=h/o,M=1;if(g==="fill"||g==="fit"){const{typicalViewportLineCount:W,extraLinesBeforeFirstLine:F,extraLinesBeyondLastLine:q,desiredRatio:X,minimapLineCount:Q}=Uy.computeContainedMinimapLineCount({viewLineCount:b,scrollBeyondLastLine:d,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:s,lineHeight:l,pixelRatio:o});if(b/Q>1)L=!0,k=!0,h=1,N=1,T=h/o;else{let ge=!1,ye=h+1;if(g==="fit"){const $e=Math.ceil((F+b+q)*N);C&&a&&v<=t.stableFitRemainingWidth?(ge=!0,ye=t.stableFitMaxMinimapScale):ge=$e>S}if(g==="fill"||ge){L=!0;const $e=h;N=Math.min(l*o,Math.max(1,Math.floor(1/X))),C&&a&&v<=t.stableFitRemainingWidth&&(ye=t.stableFitMaxMinimapScale),h=Math.min(ye,Math.max(1,Math.floor(N/y))),h>$e&&(M=Math.min(2,h/$e)),T=h/o/M,S=Math.ceil(Math.max(W,F+b+q)*N),C?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=v,t.stableFitMaxMinimapScale=h):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const P=Math.floor(f*T),V=Math.min(P,Math.max(0,Math.floor((v-_-2)*T/(c+T)))+ph);let O=Math.floor(o*V);const A=O/o;O=Math.floor(O*M);const z=u?1:2,U=p==="left"?0:i-V-_;return{renderMinimap:z,minimapLeft:U,minimapWidth:V,minimapHeightIsEditorHeight:L,minimapIsSampling:k,minimapScale:h,minimapLineHeight:N,minimapCanvasInnerWidth:O,minimapCanvasInnerHeight:S,minimapCanvasOuterWidth:A,minimapCanvasOuterHeight:x}}static computeLayout(e,t){const i=t.outerWidth|0,s=t.outerHeight|0,o=t.lineHeight|0,r=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,c=t.pixelRatio,d=t.viewLineCount,u=e.get(154),h=u==="inherit"?e.get(153):u,f=h==="inherit"?e.get(149):h,g=e.get(152),p=t.isDominatedByLongLines,_=e.get(66),b=e.get(76).renderType!==0,v=e.get(77),C=e.get(119),y=e.get(96),S=e.get(81),x=e.get(117),L=x.verticalScrollbarSize,k=x.verticalHasArrows,N=x.arrowSize,T=x.horizontalScrollbarSize,M=e.get(52),P=e.get(126)!=="never";let V=e.get(74);M&&P&&(V+=16);let O=0;if(b){const Ee=Math.max(r,v);O=Math.round(Ee*l)}let A=0;_&&(A=o*t.glyphMarginDecorationLaneCount);let z=0,U=z+A,W=U+O,F=W+V;const q=i-A-O-V;let X=!1,Q=!1,oe=-1;e.get(2)===2&&h==="inherit"&&p?(X=!0,Q=!0):f==="on"||f==="bounded"?Q=!0:f==="wordWrapColumn"&&(oe=g);const ge=Uy._computeMinimapLayout({outerWidth:i,outerHeight:s,lineHeight:o,typicalHalfwidthCharacterWidth:a,pixelRatio:c,scrollBeyondLastLine:C,paddingTop:y.top,paddingBottom:y.bottom,minimap:S,verticalScrollbarWidth:L,viewLineCount:d,remainingWidth:q,isViewportWrapping:Q},t.memory||new Ume);ge.renderMinimap!==0&&ge.minimapLeft===0&&(z+=ge.minimapWidth,U+=ge.minimapWidth,W+=ge.minimapWidth,F+=ge.minimapWidth);const ye=q-ge.minimapWidth,$e=Math.max(1,Math.floor((ye-L-2)/a)),Ze=k?N:0;return Q&&(oe=Math.max(1,$e),f==="bounded"&&(oe=Math.min(oe,g))),{width:i,height:s,glyphMarginLeft:z,glyphMarginWidth:A,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:U,lineNumbersWidth:O,decorationsLeft:W,decorationsWidth:V,contentLeft:F,contentWidth:ye,minimap:ge,viewportColumn:$e,isWordWrapMinified:X,isViewportWrapping:Q,wrappingColumn:oe,verticalScrollbarWidth:L,horizontalScrollbarHeight:T,overviewRuler:{top:Ze,width:L,height:s-2*Ze,right:0}}}}class v4e extends yn{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[w(255,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),w(256,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:w(257,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return nn(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}var bd;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(bd||(bd={}));class w4e extends yn{constructor(){const e={enabled:bd.OnCode};super(73,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",enum:[bd.Off,bd.OnCode,bd.On],default:e.enabled,enumDescriptions:[w(258,"Disable the code action menu."),w(259,"Show the code action menu when the cursor is on lines with code."),w(260,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:w(261,"Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:nn(e.enabled,this.defaultValue.enabled,[bd.Off,bd.OnCode,bd.On])}}}class C4e extends yn{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(131,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:w(262,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:w(263,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:w(264,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:w(265,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ge(t.enabled,this.defaultValue.enabled),maxLineCount:ki.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:nn(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:Ge(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class y4e extends yn{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(159,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:w(266,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[w(267,"Inlay hints are enabled"),w(268,"Inlay hints are showing by default and hide when holding {0}",Pt?"Ctrl+Option":"Ctrl+Alt"),w(269,"Inlay hints are hidden by default and show when holding {0}",Pt?"Ctrl+Option":"Ctrl+Alt"),w(270,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:w(271,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:w(272,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:w(273,"Enables the padding around the inlay hints in the editor.")},"editor.inlayHints.maximumLength":{type:"number",default:e.maximumLength,markdownDescription:w(274,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:nn(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ki.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:Nr.string(t.fontFamily,this.defaultValue.fontFamily),padding:Ge(t.padding,this.defaultValue.padding),maximumLength:ki.clampedInt(t.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}}class S4e extends yn{constructor(){super(74,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):ki.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?ki.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class x4e extends Na{constructor(){super(75,"lineHeight",Ia.lineHeight,e=>Na.clamp(e,0,150),{markdownDescription:w(275,`Controls the line height. +`))}}class x4e extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}}class S4e extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}}class J6{constructor(e){this.value=e}}const L4e=2;let Y=class{constructor(e){var t,i,s,r;this._size=0,this._options=e,this._leakageMon=(t=this._options)!=null&&t.leakWarningThreshold?new eV((e==null?void 0:e.onListenerError)??ft,((i=this._options)==null?void 0:i.leakWarningThreshold)??y4e):void 0,this._perfMon=(s=this._options)!=null&&s._profName?new JH(this._options._profName):void 0,this._deliveryQueue=(r=this._options)==null?void 0:r.deliveryQueue}dispose(){var e,t,i,s;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)==null?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(i=(t=this._options)==null?void 0:t.onDidRemoveLastListener)==null||i.call(t),(s=this._leakageMon)==null||s.dispose())}get event(){return this._event??(this._event=(e,t,i)=>{var a,l,c,d,u,h,f;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const g=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(g);const m=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],_=new S4e(`${g}. HINT: Stack shows most frequent listener (${m[1]}-times)`,m[0]);return(((a=this._options)==null?void 0:a.onListenerError)||ft)(_),Z.None}if(this._disposed)return Z.None;t&&(e=e.bind(t));const s=new J6(e);let r;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(s.stack=FX.create(),r=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof J6?(this._deliveryQueue??(this._deliveryQueue=new C_e),this._listeners=[this._listeners,s]):this._listeners.push(s):((c=(l=this._options)==null?void 0:l.onWillAddFirstListener)==null||c.call(l,this),this._listeners=s,(u=(d=this._options)==null?void 0:d.onDidAddFirstListener)==null||u.call(d,this)),(f=(h=this._options)==null?void 0:h.onDidAddListener)==null||f.call(h,this),this._size++;const o=Ve(()=>{r==null||r(),this._removeListener(s)});return i instanceof re?i.add(o):Array.isArray(i)&&i.push(o),o}),this._event}_removeListener(e){var r,o,a,l;if((o=(r=this._options)==null?void 0:r.onWillRemoveListener)==null||o.call(r,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(l=(a=this._options)==null?void 0:a.onDidRemoveLastListener)==null||l.call(a,this),this._size=0;return}const t=this._listeners,i=t.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;const s=this._deliveryQueue.current===this;if(this._size*L4e<=t.length){let c=0;for(let d=0;d0}};const k4e=()=>new C_e;class C_e{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class i0 extends Y{constructor(e){super(e),this._isPaused=0,this._eventQueue=new No,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class y_e extends i0{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class N4e extends Y{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class E4e{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new Y({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),Ve(t0(()=>{this.hasListeners&&this.unhook(t);const s=this.events.indexOf(t);this.events.splice(s,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){var t;(t=e.listener)==null||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)==null||e.dispose();this.events=[]}}class yT{constructor(){this.data=[]}wrapEvent(e,t,i){return(s,r,o)=>e(a=>{const l=this.data[this.data.length-1];if(!t){l?l.buffers.push(()=>s.call(r,a)):s.call(r,a);return}const c=l;if(!c){s.call(r,t(i,a));return}c.items??(c.items=[]),c.items.push(a),c.buffers.length===0&&l.buffers.push(()=>{c.reducedResult??(c.reducedResult=i?c.items.reduce(t,i):c.items.reduce(t)),s.call(r,c.reducedResult)})},void 0,o)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach(s=>s()),i}}class ZL{constructor(){this.listening=!1,this.inputEvent=ye.None,this.inputEventListener=Z.None,this.emitter=new Y({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const Rc=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new Y,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(n){n=Math.min(Math.max(-5,n),20),this._zoomLevel!==n&&(this._zoomLevel=n,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},I4e=At?1.5:1.35,e9=8;class n0{static _create(e,t,i,s,r,o,a,l,c){o===0?o=I4e*i:o/?";function A4e(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of MP)n.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const BX=A4e();function WX(n){let e=BX;if(n&&n instanceof RegExp)if(n.global)e=n;else{let t="g";n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.unicode&&(t+="u"),e=new RegExp(n.source,t)}return e.lastIndex=0,e}const L_e=new No;L_e.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function _I(n,e,t,i,s){if(e=WX(e),s||(s=Vt.first(L_e)),t.length>s.maxLen){let c=n-s.maxLen/2;return c<0?c=0:i+=c,t=t.substring(c,n+s.maxLen/2),_I(n,e,t,i,s)}const r=Date.now(),o=n-1-i;let a=-1,l=null;for(let c=1;!(Date.now()-r>=s.timeBudget);c++){const d=o-s.windowSize*c;e.lastIndex=Math.max(0,d);const u=P4e(e,t,o,a);if(!u&&l||(l=u,d<=0))break;a=d}if(l){const c={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,c}return null}function P4e(n,e,t,i){let s;for(;s=n.exec(e);){const r=s.index||0;if(r<=t&&n.lastIndex>=t)return s;if(i>0&&r>i)return null}return null}const Nh=8;class k_e{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class N_e{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class _n{constructor(e,t,i,s){this.id=e,this.name=t,this.defaultValue=i,this.schema=s}applyUpdate(e,t){return g8(e,t)}compute(e,t,i){return i}}class LN{constructor(e,t){this.newValue=e,this.didChange=t}}function g8(n,e){if(typeof n!="object"||typeof e!="object"||!n||!e)return new LN(e,n!==e);if(Array.isArray(n)||Array.isArray(e)){const i=Array.isArray(n)&&Array.isArray(e)&&on(n,e);return new LN(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const s=g8(n[i],e[i]);s.didChange&&(n[i]=s.newValue,t=!0)}return new LN(n,t)}class Tb{constructor(e,t){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=t}applyUpdate(e,t){return g8(e,t)}validate(e){return this.defaultValue}}class cL{constructor(e,t,i,s){this.id=e,this.name=t,this.defaultValue=i,this.schema=s}applyUpdate(e,t){return g8(e,t)}compute(e,t,i){return i}}function Ge(n,e){return typeof n>"u"?e:n==="false"?!1:!!n}class Rt extends cL{constructor(e,t,i,s=void 0){typeof s<"u"&&(s.type="boolean",s.default=i),super(e,t,i,s)}validate(e){return Ge(e,this.defaultValue)}}function Ng(n,e,t,i){if(typeof n=="string"&&(n=parseInt(n,10)),typeof n!="number"||isNaN(n))return e;let s=n;return s=Math.max(t,s),s=Math.min(i,s),s|0}class wi extends cL{static clampedInt(e,t,i,s){return Ng(e,t,i,s)}constructor(e,t,i,s,r,o=void 0){typeof o<"u"&&(o.type="integer",o.default=i,o.minimum=s,o.maximum=r),super(e,t,i,o),this.minimum=s,this.maximum=r}validate(e){return wi.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function O4e(n,e,t,i){if(typeof n>"u")return e;const s=Sa.float(n,e);return Sa.clamp(s,t,i)}class Sa extends cL{static clamp(e,t,i){return ei?i:e}static float(e,t){return typeof e=="string"&&(e=parseFloat(e)),typeof e!="number"||isNaN(e)?t:e}constructor(e,t,i,s,r,o,a){typeof r<"u"&&(r.type="number",r.default=i,r.minimum=o,r.maximum=a),super(e,t,i,r),this.validationFn=s,this.minimum=o,this.maximum=a}validate(e){return this.validationFn(Sa.float(e,this.defaultValue))}}class xo extends cL{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,s=void 0){typeof s<"u"&&(s.type="string",s.default=i),super(e,t,i,s)}validate(e){return xo.string(e,this.defaultValue)}}function Yi(n,e,t,i){return typeof n!="string"?e:i&&n in i?i[n]:t.indexOf(n)===-1?e:n}class pn extends cL{constructor(e,t,i,s,r=void 0){typeof r<"u"&&(r.type="string",r.enum=s.slice(0),r.default=i),super(e,t,i,r),this._allowedValues=s}validate(e){return Yi(e,this.defaultValue,this._allowedValues)}}class QL extends _n{constructor(e,t,i,s,r,o,a=void 0){typeof a<"u"&&(a.type="string",a.enum=r,a.default=s),super(e,t,i,a),this._allowedValues=r,this._convert=o}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function F4e(n){switch(n){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class B4e extends _n{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[w(201,"Use platform APIs to detect when a Screen Reader is attached."),w(202,"Optimize for usage with a Screen Reader."),w(203,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:w(204,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class W4e extends _n{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:w(205,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:w(206,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:Ge(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:Ge(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function H4e(n){switch(n){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var qs;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(qs||(qs={}));function Yne(n){switch(n){case"line":return qs.Line;case"block":return qs.Block;case"underline":return qs.Underline;case"line-thin":return qs.LineThin;case"block-outline":return qs.BlockOutline;case"underline-thin":return qs.UnderlineThin}}class V4e extends Tb{constructor(){super(162,"")}compute(e,t,i){const s=["monaco-editor"];return t.get(48)&&s.push(t.get(48)),e.extraEditorClassName&&s.push(e.extraEditorClassName),t.get(82)==="default"?s.push("mouse-default"):t.get(82)==="copy"&&s.push("mouse-copy"),t.get(127)&&s.push("showUnused"),t.get(157)&&s.push("showDeprecated"),s.join(" ")}}class j4e extends Rt{constructor(){super(45,"emptySelectionClipboard",!0,{description:w(207,"Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class z4e extends _n{constructor(){const e={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,history:"workspace",replaceHistory:"workspace"};super(50,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:w(208,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[w(209,"Never seed search string from the editor selection."),w(210,"Always seed search string from the editor selection, including word at cursor position."),w(211,"Only seed search string from the editor selection.")],description:w(212,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[w(213,"Never turn on Find in Selection automatically (default)."),w(214,"Always turn on Find in Selection automatically."),w(215,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:w(216,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:w(217,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:At},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:w(218,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:w(219,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[w(220,"Do not store search history from the find widget."),w(221,"Store search history across the active workspace")],description:w(222,"Controls how the find widget history should be stored")},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[w(223,"Do not store history from the replace widget."),w(224,"Store replace history across the active workspace")],description:w(225,"Controls how the replace widget history should be stored")},"editor.find.findOnType":{type:"boolean",default:e.findOnType,description:w(226,"Controls whether the Find Widget should search as you type.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:Ge(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:Ge(t.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof t.seedSearchStringFromSelection=="boolean"?t.seedSearchStringFromSelection?"always":"never":Yi(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof t.autoFindInSelection=="boolean"?t.autoFindInSelection?"always":"never":Yi(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:Ge(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:Ge(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:Ge(t.loop,this.defaultValue.loop),history:Yi(t.history,this.defaultValue.history,["never","workspace"]),replaceHistory:Yi(t.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}}}const Cg=class Cg extends _n{constructor(){super(60,"fontLigatures",Cg.OFF,{anyOf:[{type:"boolean",description:w(227,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:w(228,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:w(229,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?Cg.OFF:e==="true"?Cg.ON:e:e?Cg.ON:Cg.OFF}};Cg.OFF='"liga" off, "calt" off',Cg.ON='"liga" on, "calt" on';let Tp=Cg;const yg=class yg extends _n{constructor(){super(63,"fontVariations",yg.OFF,{anyOf:[{type:"boolean",description:w(230,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:w(231,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:w(232,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?yg.OFF:e==="true"?yg.TRANSLATE:e:e?yg.TRANSLATE:yg.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}};yg.OFF=x_e,yg.TRANSLATE=S_e;let tV=yg;class $4e extends Tb{constructor(){super(59,new RP({pixelRatio:0,fontFamily:"",fontWeight:"",fontSize:0,fontFeatureSettings:"",fontVariationSettings:"",lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(e,t,i){return e.fontInfo}}class U4e extends Tb{constructor(){super(161,qs.Line)}compute(e,t,i){return e.inputMode==="overtype"?t.get(92):t.get(34)}}class q4e extends Tb{constructor(){super(170,!1)}compute(e,t){return e.editContextSupported&&t.get(44)}}class K4e extends Tb{constructor(){super(172,!1)}compute(e,t){return e.accessibilitySupport===2?t.get(7):t.get(6)}}class G4e extends cL{constructor(){super(61,"fontSize",ka.fontSize,{type:"number",minimum:6,maximum:100,default:ka.fontSize,description:w(233,"Controls the font size in pixels.")})}validate(e){const t=Sa.float(e,this.defaultValue);return t===0?ka.fontSize:Sa.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}const Ph=class Ph extends _n{constructor(){super(62,"fontWeight",ka.fontWeight,{anyOf:[{type:"number",minimum:Ph.MINIMUM_VALUE,maximum:Ph.MAXIMUM_VALUE,errorMessage:w(234,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Ph.SUGGESTION_VALUES}],default:ka.fontWeight,description:w(235,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(wi.clampedInt(e,ka.fontWeight,Ph.MINIMUM_VALUE,Ph.MAXIMUM_VALUE))}};Ph.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Ph.MINIMUM_VALUE=1,Ph.MAXIMUM_VALUE=1e3;let iV=Ph;class Y4e extends _n{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[w(236,"Show Peek view of the results (default)"),w(237,"Go to the primary result and show a Peek view"),w(238,"Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(67,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:w(239,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:w(240,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:w(241,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:w(242,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:w(243,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:w(244,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:w(245,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:w(246,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:w(247,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:w(248,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:w(249,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{multiple:Yi(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:Yi(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:Yi(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:Yi(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:Yi(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:Yi(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:Yi(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:xo.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:xo.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:xo.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:xo.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:xo.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:xo.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class X4e extends _n{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(69,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:w(250,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:w(251,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:w(252,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,markdownDescription:w(253,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:w(254,"Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ge(t.enabled,this.defaultValue.enabled),delay:wi.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:Ge(t.sticky,this.defaultValue.sticky),hidingDelay:wi.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:Ge(t.above,this.defaultValue.above)}}}class hx extends Tb{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(e,t,i){return hx.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let s=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(s=Math.max(s,t-1));const r=(i+e.viewLineCount+s)/(e.pixelRatio*e.height),o=Math.floor(e.viewLineCount/r);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:s,desiredRatio:r,minimapLineCount:o}}static _computeMinimapLayout(e,t){const i=e.outerWidth,s=e.outerHeight,r=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(r*s),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:s};const o=t.stableMinimapLayoutInput,a=o&&e.outerHeight===o.outerHeight&&e.lineHeight===o.lineHeight&&e.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&e.pixelRatio===o.pixelRatio&&e.scrollBeyondLastLine===o.scrollBeyondLastLine&&e.paddingTop===o.paddingTop&&e.paddingBottom===o.paddingBottom&&e.minimap.enabled===o.minimap.enabled&&e.minimap.side===o.minimap.side&&e.minimap.size===o.minimap.size&&e.minimap.showSlider===o.minimap.showSlider&&e.minimap.renderCharacters===o.minimap.renderCharacters&&e.minimap.maxColumn===o.minimap.maxColumn&&e.minimap.scale===o.minimap.scale&&e.verticalScrollbarWidth===o.verticalScrollbarWidth&&e.isViewportWrapping===o.isViewportWrapping,l=e.lineHeight,c=e.typicalHalfwidthCharacterWidth,d=e.scrollBeyondLastLine,u=e.minimap.renderCharacters;let h=r>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const f=e.minimap.maxColumn,g=e.minimap.size,m=e.minimap.side,_=e.verticalScrollbarWidth,b=e.viewLineCount,v=e.remainingWidth,C=e.isViewportWrapping,y=u?2:3;let x=Math.floor(r*s);const S=x/r;let L=!1,k=!1,N=y*h,D=h/r,M=1;if(g==="fill"||g==="fit"){const{typicalViewportLineCount:W,extraLinesBeforeFirstLine:F,extraLinesBeyondLastLine:q,desiredRatio:Q,minimapLineCount:J}=hx.computeContainedMinimapLineCount({viewLineCount:b,scrollBeyondLastLine:d,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:s,lineHeight:l,pixelRatio:r});if(b/J>1)L=!0,k=!0,h=1,N=1,D=h/r;else{let pe=!1,ke=h+1;if(g==="fit"){const $e=Math.ceil((F+b+q)*N);C&&a&&v<=t.stableFitRemainingWidth?(pe=!0,ke=t.stableFitMaxMinimapScale):pe=$e>x}if(g==="fill"||pe){L=!0;const $e=h;N=Math.min(l*r,Math.max(1,Math.floor(1/Q))),C&&a&&v<=t.stableFitRemainingWidth&&(ke=t.stableFitMaxMinimapScale),h=Math.min(ke,Math.max(1,Math.floor(N/y))),h>$e&&(M=Math.min(2,h/$e)),D=h/r/M,x=Math.ceil(Math.max(W,F+b+q)*N),C?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=v,t.stableFitMaxMinimapScale=h):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const P=Math.floor(f*D),V=Math.min(P,Math.max(0,Math.floor((v-_-2)*D/(c+D)))+Nh);let O=Math.floor(r*V);const A=O/r;O=Math.floor(O*M);const z=u?1:2,U=m==="left"?0:i-V-_;return{renderMinimap:z,minimapLeft:U,minimapWidth:V,minimapHeightIsEditorHeight:L,minimapIsSampling:k,minimapScale:h,minimapLineHeight:N,minimapCanvasInnerWidth:O,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:A,minimapCanvasOuterHeight:S}}static computeLayout(e,t){const i=t.outerWidth|0,s=t.outerHeight|0,r=t.lineHeight|0,o=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,c=t.pixelRatio,d=t.viewLineCount,u=e.get(154),h=u==="inherit"?e.get(153):u,f=h==="inherit"?e.get(149):h,g=e.get(152),m=t.isDominatedByLongLines,_=e.get(66),b=e.get(76).renderType!==0,v=e.get(77),C=e.get(119),y=e.get(96),x=e.get(81),S=e.get(117),L=S.verticalScrollbarSize,k=S.verticalHasArrows,N=S.arrowSize,D=S.horizontalScrollbarSize,M=e.get(52),P=e.get(126)!=="never";let V=e.get(74);M&&P&&(V+=16);let O=0;if(b){const Re=Math.max(o,v);O=Math.round(Re*l)}let A=0;_&&(A=r*t.glyphMarginDecorationLaneCount);let z=0,U=z+A,W=U+O,F=W+V;const q=i-A-O-V;let Q=!1,J=!1,oe=-1;e.get(2)===2&&h==="inherit"&&m?(Q=!0,J=!0):f==="on"||f==="bounded"?J=!0:f==="wordWrapColumn"&&(oe=g);const pe=hx._computeMinimapLayout({outerWidth:i,outerHeight:s,lineHeight:r,typicalHalfwidthCharacterWidth:a,pixelRatio:c,scrollBeyondLastLine:C,paddingTop:y.top,paddingBottom:y.bottom,minimap:x,verticalScrollbarWidth:L,viewLineCount:d,remainingWidth:q,isViewportWrapping:J},t.memory||new N_e);pe.renderMinimap!==0&&pe.minimapLeft===0&&(z+=pe.minimapWidth,U+=pe.minimapWidth,W+=pe.minimapWidth,F+=pe.minimapWidth);const ke=q-pe.minimapWidth,$e=Math.max(1,Math.floor((ke-L-2)/a)),Xe=k?N:0;return J&&(oe=Math.max(1,$e),f==="bounded"&&(oe=Math.min(oe,g))),{width:i,height:s,glyphMarginLeft:z,glyphMarginWidth:A,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:U,lineNumbersWidth:O,decorationsLeft:W,decorationsWidth:V,contentLeft:F,contentWidth:ke,minimap:pe,viewportColumn:$e,isWordWrapMinified:Q,isViewportWrapping:J,wrappingColumn:oe,verticalScrollbarWidth:L,horizontalScrollbarHeight:D,overviewRuler:{top:Xe,width:L,height:s-2*Xe,right:0}}}}class Z4e extends _n{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[w(255,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),w(256,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:w(257,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return Yi(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}var Sd;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(Sd||(Sd={}));class Q4e extends _n{constructor(){const e={enabled:Sd.OnCode};super(73,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",enum:[Sd.Off,Sd.OnCode,Sd.On],default:e.enabled,enumDescriptions:[w(258,"Disable the code action menu."),w(259,"Show the code action menu when the cursor is on lines with code."),w(260,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:w(261,"Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Yi(e.enabled,this.defaultValue.enabled,[Sd.Off,Sd.OnCode,Sd.On])}}}class J4e extends _n{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(131,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:w(262,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:w(263,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:w(264,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:w(265,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ge(t.enabled,this.defaultValue.enabled),maxLineCount:wi.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:Yi(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:Ge(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class e5e extends _n{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(159,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:w(266,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[w(267,"Inlay hints are enabled"),w(268,"Inlay hints are showing by default and hide when holding {0}",At?"Ctrl+Option":"Ctrl+Alt"),w(269,"Inlay hints are hidden by default and show when holding {0}",At?"Ctrl+Option":"Ctrl+Alt"),w(270,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:w(271,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:w(272,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:w(273,"Enables the padding around the inlay hints in the editor.")},"editor.inlayHints.maximumLength":{type:"number",default:e.maximumLength,markdownDescription:w(274,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:Yi(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:wi.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:xo.string(t.fontFamily,this.defaultValue.fontFamily),padding:Ge(t.padding,this.defaultValue.padding),maximumLength:wi.clampedInt(t.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}}class t5e extends _n{constructor(){super(74,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):wi.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?wi.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class i5e extends Sa{constructor(){super(75,"lineHeight",ka.lineHeight,e=>Sa.clamp(e,0,150),{markdownDescription:w(275,`Controls the line height. - Use 0 to automatically compute the line height from the font size. - Values between 0 and 8 will be used as a multiplier with the font size. - - Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(e,t,i){return e.fontInfo.lineHeight}}class L4e extends yn{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?-?)\\s*(?